Algorithm/Programmers 48

[프로그래머스] 124 나라의 숫자 - Java

문제 설명 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 풀이 : Success 소스 코드 public String solution(int n) { String base = "412"; StringBuilder sb = new StringBuilder(); sb.append(base.charAt(n % 3)); while (n > 3) { n = (n-1) / 3; sb.append(base.charAt(n % 3)); } return sb.reverse().toString(); } 풀이 회고 우선 124 나라의 숫자의 경우 "1", "2", "4" 총 3개의 숫자로만 표현되므로 삼진법을 구하는 방식과 유사합니다. 이때 십진수를 차례대로 3으로 나누면 다음과 같은 규칙성을 발견할..

[프로그래머스] 타겟 넘버 - Java

문제 설명 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 programmers.co.kr 풀이 : Success 소스 코드 class Solution { int[] numbers; int target; int maxIndex; int result = 0; public int solution(int[] numbers, int target) { this.numbers = numbers; this.target = target; maxIndex = numbers.length; dfs(0, 0); return result; ..

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

문제 설명 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr 풀이 : Success 소스 코드 import java.util.HashSet; import java.util.List; import java.util.stream.IntStream; class Solution { public int solution(int n, int k) { StringBuilder sb = new StringBuilder(); String base = "0123456789"; w..

[프로그래머스] 신고 결과 받기 - Java

문제 설명 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 풀이 : Success 소스 코드 class Solution { public int[] solution(String[] id_list, String[] report, int k) { // 사용자별 신고당한 건수(Key 사용자, value 신고건수) Map reportedUser = new HashMap(); // 사용자별 신고현황(중복 제거) Set reportSet = new HashSet(Arrays.asList(report)); // 사용..

[프로그래머스] K번째 수 - Java

문제 설명 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 풀이 : Success 소스 코드 import java.util.*; class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; int[] temp; for (int i = 0; i < commands.length; i++) { temp = Arrays.copyOfRange(array, commands[i][0]-1, commands[i][1]); Arrays.sort(temp..