코딩테스트 47

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

1. 내 풀이정렬 후 다른 게 있으면 바로 리턴, 끝까지 다른게 안나오면 마지막 값 리턴import java.util.*;class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; Arrays.sort(participant); Arrays.sort(completion); for(int i = 0; i    2. 다른 분 풀이HashMap을 이용하여 푸셨다. 둘다 원리는 같은 것 같다.import java.util.HashMap;class Solution { public String solution(Str..

[프로그래머스] 둘만의 암호

1. 다른 분의 풀이를 참고한 풀이쉽게 char을 하나씩 증가시키면서 비교하면 되는데 일단 index만큼 증가시켜놓고 skip된게 있으면 그제서야 하나씩 더 올리려고 했던 나,,, 괜히 쉽게 가려다가 더 어렵게 가는 경우가 많은 것 같다. 이런건 어떻게 해야하나!그리고 간과했던 것 string.contains! 함수들을 진짜 한번은 정리하는 시간이 필요한 것 같기도 하당. class Solution { public String solution(String s, String skip, int index) { String answer = ""; char[] chars = s.toCharArray(); StringBuilder sb = new StringBuilder..

[프로그래머스] 다트 게임

https://school.programmers.co.kr/learn/courses/30/lessons/176821. 내 풀이이전 수를 int에 따로 저장해서 검사했다.class Solution { public int solution(String dartResult) { int answer = 0; int prevNum = 0; for(int i = 0; i   2. 다른 분 풀이 - stack 사용Character.isDigit(c)를 활용해 숫자인지를 알 수 있다.stack을 사용해 편리하게 값을 넣었다 뺐다 하고있다.import java.util.*;class Solution { public int solution(String dartR..

[프로그래머스] 소수 찾기

에라토스테네스의 체를 이용하는 풀이법이다. 시간 제한도 걸려있어 어려운 문제이다. 1. 내 풀이한번에 끝까지 돌면서 소수의 개수까지 같이 세는 방식이다.class Solution { public int solution(int n) { int answer = 0; int[] isPrime = new int[n+1]; for(int i = 2 ; i   2. 다른 분 풀이일단 에라토스테네스의 체 후에 소수의 개수를 구하는 방법이다.class Solution { public int solution(int n) { int answer = 0; boolean[] check = new boolean[n+1]; check[0] = ..

[프로그래머스] 비밀지도

1. 시간이 빠른 풀이class Solution { public String[] solution(int n, int[] arr1, int[] arr2) { String[] answer = new String[n]; StringBuilder sb; for(int i =0 ;i    2. 가독성 높은 풀이 class Solution { public String[] solution(int n, int[] arr1, int[] arr2) { String[] answer = new String[n]; StringBuilder sb; for(int i =0 ;i   3. 다른 분 풀이 변수로 두는 것보다 상수로 놓고 자르는 게 훨..