my study.

코딩테스트 15

[프로그래머스] 멀리 뛰기, java

프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이목적지에 갈 수 있는 방법의 수에 규칙이 있을 것이라 생각이 되어 규칙을 찾아보기로 했습니다.// 거리 1일 때 방법 1개1// 거리 2일 때 방법 2개1 12// 거리 3일 때 방법 3개1 1 12 11 2// 거리 4일 때 방법 5개1 1 1 12 1 11 2 11 1 22 2// 거리 5일 때 방법 8개1 1 1 1 12 1 1 11 2 1 11 1 2 11 1 1 22 2 12 1 21 2 2// 거리 6일 때 방법 13개1 1 1 1 1 12 1 1 1 11 2 1 1 11 1 2 1 11 1 1 2 11 1 1 1 22 2 1 12 1 2 1..

[백준] 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 수 정렬하기 3, java

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(Stri..

[백준] 2751 수 정렬하기 2, java

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.ne..

[백준] 2750 수 정렬하기, java

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 수 찾기, java

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 IOExcept..

[프로그래머스] 문자열 압축, python

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

[프로그래머스] 신규 아이디 추천, python

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

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

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

[백준] 3052 나머지, java

www.acmicpc.net/problem/3052 3052번: 나머지39, 40, 41, 42, 43, 44, 82, 83, 84, 85를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 모두 6개가 있다.www.acmicpc.netimport java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); //숫자를 입력받기위한 scanner 객체 생성 int[] numbers = new int[10]; //숫자가 10개라고 주어..