본문 바로가기

분류 전체보기

(49)
[프로그래머스] 두 정수 사이의 합 내가 푼 답 public long mySolution(int a, int b) { long answer = 0; if(a==b) { return a; } while(a b) { answer += b; b++; if(a==b) answer+=a; } return answer; } 모범답안1 public long betterSolution(int a, int b) { return sumAtoB(Math.min(a, b), Math.max(b, a)); } private long sumAtoB(long a, long b) { return (b - a + 1) * (a + b) / 2; } 모범답안2 publi..
[프로그래머스] 나누어 떨어지는 숫자 배열 내가 푼 답 public int[] solution(int[] arr, int divisor) { List temp_list = new ArrayList(); for(int num : arr) { int restNum = num%divisor; if(restNum == 0) { temp_list.add(num); } } int[] answer; if(0 < temp_list.size()) { answer = new int[temp_list.size()]; for(int i=0; i factor % divisor == 0).toArray(); } 한줄로 끝낼 수도 있고 훨씬 보기도 편하다. 꼭 알아둬야지.
[프로그래머스] 같은 숫자는 싫어 내가 푼 답 public int[] solution(int[] arr) { List answer = new ArrayList(); for(int i=0; i
[프로그래머스] 삼진법 뒤집기 내가 푼 답 int answer = 0; StringBuilder switchedNum = new StringBuilder(); while(3
[프로그래머스] 가운데 글자 가져오기 내가 푼답 public String solution(String s) { String answer = ""; if(s.length()%2 == 1) { int index = (s.length()-1)/2; answer = s.charAt(index) + ""; } else { int index = s.length()/2; answer = s.substring(index-1, index+1); } return answer; } 모범답안 public String better_solution(String word) { return word.substring((word.length()-1)/2, word.length()/2 +1); } 이게 한줄로 끝날 수 있었구나..
[프로그래머스] 2016년 내가 푼 답 public String solution(int a, int b) { String[] week = {"FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"}; int[] month = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int totalDay = b-1; for(int i=0; i
[프로그래머스] 체육복 내가 푼 답 int answer = 0; int[] students = new int[n]; for(int i : lost) { students[i-1]--; } for(int i : reserve) { students[i-1]++; } for(int i=0; i
[프로그래머스] K번째 수 내가 푼 답 public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; for(int i=0; i
[프로그래머스] 모의고사 내가 푼 코드 public int[] solution(int[] answers) { int[] answer1 = {1, 2, 3, 4, 5}; int[] answer2 = {2, 1, 2, 3, 2, 4, 2, 5}; int[] answer3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5}; HashMap count = new HashMap(); for(int i=0; i maxScore != count.get(key)); int[] answer = new int[list.size()]; for(int i=0; i
[프로그래머스] 두개뽑아서 더하기 배열만 이용했을 때 public static int[] solution(int[] numbers) { int[] answer = new int[100]; Arrays.sort(numbers); int cnt = 0; for(int i=0; i