프로그래머스 6

[프로그래머스] 기능개발 javascript

🎇 풀이방법 1. 먼저 배포하는데 걸리는 시간을 배열로 만든다. 100에서 93을 빼고 1로 나눈 값 100에서 30을 빼고 30으로 나눈 값 ( 올림처리) [7, 3, 9] 2. 만든 배열에서 항목 비교 -> 뒤가 앞보다 작으면 그 다음을 비교해야하고 앞이 작으면 answer배열에 넣어야한다. 뒤가 앞보다 작으면 1씩 증가시키고 앞이 비로소 작아졌을때 answer배열에 넣는다. 🎇 코드 function solution(progresses, speeds) { let answer = [0]; let days = progresses.map((progress, index) => Math.ceil((100 - progress) / speeds[index])); let maxDay = days[0]; for(le..

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

🎇 풀이방법 이중 for문을 돌리면 시간초과가 나온다. 그러므로 배열 두개를 sort를 한다. 이중에서 완주하지 못한 선수는 딱 한명이므로 순서대로 배열을 비교하면서 같은 인덱스에 같은 사람이 나오지 않으면 그사람이 완주하지 못한 사람이다. ✨ 코드 function solution(participant, completion) { let answer = ''; participant.sort(); //참가자 배열 정렬 completion.sort(); //완주자 배열 정렬 for(var i=0;i

[프로그래머스] 문자열 압축 javascript

https://programmers.co.kr/learn/courses/30/lessons/60057 🎇 풀이방법 이중 for문을 돌려야한다. "aabbaccc" 이라고 치자. 먼저 문자를 1개 단위로 자른다고 생각해보자. a와 그 다음 a를 비교한다 -> 같다. 그러면 앞에 2를 적는다. a와 b를 비교한다 -> 다르다. 그러면 2다음에 a를 적는다. b와 b를 비교한다 -> 같다. 2a다음에 2를 적는다. b와 a를 비교한다 -> 다르다. 2a2b를 적는다. a와 c를 비교한다 -> 다르다. 2a2ba를 적는다. .... 이렇게 만든 문자 1개 그다음 문자를 2개 단위로 자른다고 가정한다. aa와 bb를 비교한다. -> 다르다 aa를 적는다. bb와 ac를 비교한다 -> 다르다 aabb를 적는다 ....

[프로그래머스] 위장 java / HashMap 사용

처음에는 해시맵에 넣어서~~ 명칭으로 맵으로 만드는 방법도 헤매고~~ 그랬지만 이렇게 간단하게 풀 수 있었다.;; import java.util.HashMap; import java.util.Iterator; class Solution { public int solution(String[][] clothes) { int answer = 1; HashMap clothesmap = new HashMap(); for (int i = 0; i < clothes.length; i++) { String key = clothes[i][1]; if (!clothesmap.containsKey(key)) { clothesmap.put(key, 1); } else { clothesmap.put(key, clothesmap..

[프로그래머스] 가장 큰 수 java / 정렬/ Comparator, compare, compareTo 메소드로 String 오름차순 내림차순 정렬

import java.util.Arrays; import java.util.Comparator; public class solution { public String solution(int[] numbers) { String answer = ""; String[] str = new String[numbers.length]; for (int i = 0; i < numbers.length; i++) { str[i] = String.valueOf(numbers[i]); } Arrays.sort(str, new Comparator() { @Override public int compare(String a, String b) { return (b+a).compareTo(a+b); } }); if(str[0].equ..

[프로그래머스] 모의고사 java / 완전 탐색 / 완전 탐색 패턴은 나머지 연산자로

1. 문제 길이가 예시보다 더어어어길게 주어지면 정답은 패턴을 가지고 반복한다. 2. 몇 개 맞았는지를 카운트 한다. 3. 개수가 가장 많은 인덱스를 출력하도록 하겠다. import java.util.*; public class solution { public int[] solution(int[] answers) { int[][] patterns = { {1,2,3,4,5}, {2,1,2,3,2,4,2,5}, {3,3,1,1,2,2,4,4,5,5} }; //순서대로 몇개 맞았는지 카운트 int[] hit = new int[3]; for (int i = 0; i < hit.length; i++) { for (int j = 0; j < answers.length; j++) { if (patterns[i][j..