알고리즘/프로그래머스 문제풀이
[프로그래머스] 완주하지 못한 선수 javascript
2021.09.14
🎇 풀이방법 이중 for문을 돌리면 시간초과가 나온다. 그러므로 배열 두개를 sort를 한다. 이중에서 완주하지 못한 선수는 딱 한명이므로 순서대로 배열을 비교하면서 같은 인덱스에 같은 사람이 나오지 않으면 그사람이 완주하지 못한 사람이다. ✨ 코드 function solution(participant, completion) { let answer = ''; participant.sort(); //참가자 배열 정렬 completion.sort(); //완주자 배열 정렬 for(var i=0;i
알고리즘/프로그래머스 문제풀이
[프로그래머스] 문자열 압축 javascript
2021.09.14
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 사용
2021.06.01
처음에는 해시맵에 넣어서~~ 명칭으로 맵으로 만드는 방법도 헤매고~~ 그랬지만 이렇게 간단하게 풀 수 있었다.;; 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 /효율성 성공! Arrays.sort
2021.05.31
나의 풀이 class Solution { public boolean solution(String[] phone_book) { boolean answer = true; for (int i = 0; i < phone_book.length; i++) { for (int j = 0; j < phone_book.length; j++) { if (i==j) { continue; } if (phone_book[j].matches(phone_book[i]+"(.*)")) { answer=false; } } } return answer; } } 테스트 케이스는 통과했지만 효율성에서 모두 실패! matches대신 if(phone_book[j].indexOf(phone_book[i])==0) indexOf를 써도 케이스는 ..
알고리즘/프로그래머스 문제풀이
[프로그래머스] 가장 큰 수 java / 정렬/ Comparator, compare, compareTo 메소드로 String 오름차순 내림차순 정렬
2021.05.28
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..