문제 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 풀이 Hash를 이용하여 문제를 해결할 수 있었다. 각각의 참가자와 완주자의 이름을 HashMap의 Key로 설정하여 Map에 올려두고 Map의 getOrDefault 메서드를 사용하여 Key에 해당하는 Value가 있으면 가져오고, 아닐 경우 0을 Default로 지정하여 각각을 1씩 더해주면 해당 참가자와 완주자의 이름이 몇 번 언급..
문제 https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 풀이 구현 + BFS(최단거리)로 풀 수 있었다. keyPad라는 2차원 배열을 만들어서 최단거리를 측정할 수 있도록 해주었고, 문자열으로 모든 번호의 좌표를 기록해주어 현재 손가락의 위치가 바뀔 때 마다 해당 문자열을 참조하여 위치를 업데이트 해..
문제 https://programmers.co.kr/learn/courses/30/lessons/12930?language=java 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 풀이 문자열 + 구현 문제이다. 특히나 프로그래머스에서는 이런 비슷한 문자열 문제가 많으니 감을 잡으면 쉽게 풀 수 있을 것이다. 우선 temp라는 문자열 변수를 만들어 공백을 기준으로 문자열을 담아주고 answer에 담아줄 수 있도록 하였다. 이후에는 문자열의 모든 원소에 대해 탐색할 수 있도록 for문을 돌려주어 해..
문제 https://programmers.co.kr/learn/courses/30/lessons/92335 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr 풀이 소수 판별 + 문자열 구현 문제이다. 우선 매개변수 n을 k진수로 변환하여 문자열 변수에 담아주었고, 문자열의 루프를 돌면서 0이 아닐 때는 temp라는 임시 문자열 변수에 각 문자들을 더해주었고, 0을 만나면 temp를 Long으로 형변환 해주어 소수인지 판별할 수 있도록 해주었다. 하지만 예를 들..