GitHub 자세히보기

Algorithm 21

[Codility] NumberSolitaire for JAVA

문제 바로가기 NumberSolitaire coding task - Learn to Code - Codility In a given array, find the subset of maximal sum in which the distance between consecutive elements is at most 6. app.codility.com 문제풀이 💡구현 아이디어 주어진 배열(0 ~ N-1)에는 조약돌의 숫자가 적혀있다. 1~6까지 적힌 주사위를 돌려 나온 숫자 만큼 이동하며 해당 칸에 있는 조약돌을 가진다. 0에서부터 출발하며 N-1에 도달했을 때 최대로 가질 수 있는 조약돌의 갯수를 구하는 것이다. 아래와 같이 값이 주어진다고 가정한다. A[0] A[1] A[2] A[3] A[4] A[5] 1 ..

Algorithm/Codility 2022.08.03

[Programmers] 124 나라의 숫자 for JAVA

문제 바로가기 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 문제풀이 1. 처음 풀이 124로만 숫자를 나타낼 수 있다는 점에서 124나라는 3진수를 사용한다는 것을 알 수 있다. 다만, 3진수가 012가 아닌 124로 이루어져 있다. 구현 1. country 배열에 숫자 0, 1, 2, 4로 초기화한다. 2. n > 0 인 경우, 반복 2-1. n을 3으로 나눈 나머지가 0이면, 결과에 4를 붙이고 n은 3으로 나눈 후 1을 뺌 2-2. 나머지가 0이 아니면, 결과에 country 배열의 나머지번째를 붙이고 n은 3으로 나눔 3. 결과 출력 class Solution { public String solution(int n) { String answer = ""; int[] co..

[Programmers] 숫자 문자열과 영단어 for JAVA - Map vs String

문제 바로가기 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 문제풀이 숫자와 영단어를 대응시켜야한다는 관점에서 저는 Map을 사용했습니다. 하지만 대부분의 문제후기를 보면 String의 replaceAll() 메소드를 사용하신 것을 확인할 수 있습니다. 두가지 풀이에 대해 살펴보겠습니다. 1. Map 적용 숫자의 일부 자릿수를 영단어로 바꾸는 문제이다. 숫자에 대응하는 영단어를 Map에 저장한다. 이를 사용하여 for문을 돌며 영단어를 숫자로 변환한다. 구현 1. 단어-영단어를 Map 에 초기화 ..

[BOJ] 경쟁적 전염 for Java - PriorityQueue를 적용한 풀이

문제 바로가기 18405번: 경쟁적 전염 첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치 www.acmicpc.net 문제풀이 시험관에 존재하는 바이러스는 1초마다 번호순으로 증식되기 때문에 BFS를 적용하도록 한다. PriorityQueue를 사용하여 시간/번호순으로 정렬이 가능하도록 Virus 클래스에 Comparable 인터페이스를 적용한다. 구현 0. Virus 클래스에 Comparable을 적용하여, 시간순 -> 번호순으로 큐가 정렬되도록 함 1. 바이러스가 존재하면 PriorityQueue에 offer 2-1. X, Y 좌표..

Algorithm/BOJ 2022.03.02

[프로그래머스] k진수에서 소수 개수 구하기 for JAVA

문제 바로가기 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr 구현 아이디어 입력받은 n을 k진수로 변환하는 과정이 필요 P가 조건에 해당하는지 확인(P 사이에 0이 있을 수 없음) 2-1. 0P0 2-2. P0 2-3. 0P 2-4. P P가 소수인지 확인 조건에 맞으면 answer를 1씩 증가 변수 sb : n을 k진수로 변환하는 과정에서 사용할 변수(StringBuilder) change : k진수로 변환된 문자열 값 tmp : 변환된 수 안의 P(lo..

1 2 3 4 5