코딩테스트

    [백준] 11559 Puyo Puyo (java)

    https://www.acmicpc.net/problem/11559 11559번: Puyo Puyo 총 12개의 줄에 필드의 정보가 주어지며, 각 줄에는 6개의 문자가 있다. 이때 .은 빈공간이고 .이 아닌것은 각각의 색깔의 뿌요를 나타낸다. R은 빨강, G는 초록, B는 파랑, P는 보라, Y는 노랑이다. www.acmicpc.net 문제 이해 문제를 읽어보면 특별히 어렵지 않게 이해할 수 있는 문제였습니다. 중력에 의해 떨어지는 블록이 존재하고 상하좌우 같은 블록이 4개 이상 연결되어 있으면 삭제될 수 있습니다. 4개 이상 연결되어 있는 블럭의 그룹이 한 개 이상일 경우 그 블록들은 동시에 사라져야 하며 이렇게 한 번 사라지는 동작을 한 번의 연쇄라고 합니다. 또 이렇게 블록이 사라져 공중에 떠 있는..

    [백준] 10989 자바

    10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 백준 브론즈1 문제입니다. 최대 10,000,000개의 데이터를 입력받아 정렬하여 출력하는 문제입니다. 데이터의 개수가 많으므로 Scanner를 이용한 입력이 아닌 BufferedReader를 이용한 입력을 받았고, 출력도 StringBuilder를 생성해서 한 번에 하였습니다. 2751번 문제와 똑같은 코드로 해결할 수 있었습니다. import java.io.*; import java.util.*; public class Main { public static void main(St..

    [백준] 2751 자바

    2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 백준의 실버5 문제입니다. 이전에 풀었던 2750문제와 내용은 같지만 입력에 주어질 수 있는 수의 범위가 많이 증가했습니다. 그렇기 때문에 이전의 코드로 시도를 해봤지만 시간초과가 나타나게 됩니다. import java.util.*; public class Main { public static void main(String args[]){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[..

    [백준] 2750 자바

    2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 백준의 브론즈2 문제입니다. 입력 받은 문자들을 정렬하여 그대로 출력하면 되는 문제입니다. 최대 데이터의 개수가 1000개로 그렇게 크지 않기 때문에 Scanner를 이용하여 입력을 받았고 Arrays.sort()를 이용하여 정렬하여 그대로 출력하였습니다. import java.util.*; public class Main { public static void main(String args[]){ Scanner sc = new Scanner(System.in); //데이..

    [백준] 1920 자바

    [백준] 1920 자바

    1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 백준의 실버4 문제입니다. 문제 내용은 배열 내에 특정 숫자가 존재하는지 안하는지 판단하는 아주 간단한 문제라 브론즈 문제라고 생각할 수 있지만 그렇지 않은 이유가 있었습니다. import java.util.*; import java.io.*; public class Main { static int N, M; public static void main(String args[]) throws IOException{ ..

    [프로그래머스] 문자열 압축 파이썬

    [프로그래머스] 문자열 압축 파이썬

    코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 정확히 분류를 어떻게 해야할 지 모르겠는데, 특정 알고리즘을 사용해야 하는 느낌은 없었기에 구현 문제라고 생각이듭니다. 간략히 문제를 설명해보겠습니다. 1. "aabbaccc"의 문자열을 같은 문자 기준으로 "2a2ba3c"와 같이 압축할 수 있습니다. 하지만 "abcabcdede"와 같은 문자열은 하나도 압축이 불가능합니다. 2. 위와 같은 문제점 때문에 하나 단위가 아닌 여러 개의 문자를 합쳐서 압축하는 방법을 사용해봅니다. 이를테면 "abcabcde..

    [프로그래머스] 신규 아이디 추천 파이썬

    [프로그래머스] 신규 아이디 추천 파이썬

    코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 카카오에서 나온 문제입니다. 난이도는 쉬운편으로 문제에 주어지는대로 구현을 하기만 하면 되는 문제였습니다. 크게 사용되는 기술은 없었고 정수인지 판별, 영어인지 판별, 공백제거, 문자 변환 등의 기능을 사용하여 구현했습니다. def solution(new_id): answer = ''; #1단계 new_id = new_id.lower(); print(new_id); #2단계 allow = ["-","_","."]; arr = list(new_id); ne..

    [프로그래머스] 완주하지 못한 선수 (java)

    [프로그래머스] 완주하지 못한 선수 (java)

    programmers.co.kr/learn/courses/30/lessons/42576?language=java 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr import java.util.*; class Solution { public String solution(String[] participant, String[] completion) { ArrayList part = new ArrayList(Arrays.asList(participant)); //ArrayList를 사용하기위한 p..