목록알고리즘 (15)
개발 공부
코딩테스트 연습 - 2018 KAKAO BLIND RECRUITMENT - [3차] n진수 게임 https://programmers.co.kr/learn/courses/30/lessons/17687 //30분 function solution(n, t, m, p) { var answer = ''; var numberString = generateNumberArray(n, t, m, p); //console.log(numberString); for(var i = 0 ; i < t ; i ++){ answer += numberString[i*m +p -1] } return answer; } function generateNumberArray(n, t, m, p) { var numberString = ""; v..
코딩테스트 연습 - 2018 KAKAO BLIND RECRUITMENT - [3차] 압축 https://programmers.co.kr/learn/courses/30/lessons/17684 //하루 var nextNum; var logFlag = false; function solution(msg) { //if(msg === 'ABABABABABABABAB') logFlag = true; //if(!logFlag) return; var answer = []; var dict = initDictionary(); while(msg){ //if (logFlag) console.log("메시지 :", answer); var index = 0; //해당 인덱스의 캐릭터 var pop = msg.charAt(in..
코딩테스트 연습 - 월간 코드 챌린지 시즌2 - 괄호 회전하기 (약 30분 소요) //특정 입력값 로깅을 위한 변수 var isLogging = false; function solution(s) { var answer = 0; //if(s == "}]()[{"){ //isLogging = true; //console.log("isLogging = "+isLogging); //} for(var i = 0 ; i < s.length ; i++){ if(omit(s)){ //console.log("touched"); answer ++; } var temp = s.charAt(0); //charAt 찾아봄 s = s.slice(1)+temp; //slice 찾아봄 } return answer; } var tem..
코딩테스트 연습-2018 KAKAO BLIND RECRUITMENT-[3차] 파일명 정렬 https://programmers.co.kr/learn/courses/30/lessons/17686 //약 130 소요 var logFlag = false; function solution(files) { //숫자5개인 경우 오류나는 것 아래 테스트로 확인함 //files = ["A-00011 Freedom Fight44er", "A-10 Superfort5ress", "A-10 Thunderbolt6II", "A-10 Tomcat"]; //if(files[0] == 'img12.png'){ logFlag = true; //console.log(logFlag); //} var answer = []; //비교를 위한..
코딩테스트 연습 - 해시 - 베스트엘범 https://programmers.co.kr/learn/courses/30/lessons/42579 첫시도. (틀린 답안) sorting까지 완료. 하지만 효율적으로 장르별 2개씩만 가져오는 게 생각이 안나 갈아 엎었다. function solution(genres, plays) { var answer = []; var musicMapArray = []; var totalObj = {}; for(var i = 0 ; i < genres.length ; i ++){ var musicObj = {}; musicObj['number'] = i; musicObj['genre'] = genres[i]; musicObj['count'] = plays[i]; totalObj[..
코딩테스트 연습 - 해시 -위장 https://programmers.co.kr/learn/courses/30/lessons/42578 import java.util.*; class Solution { public int solution(String[][] clothes) { int answer = 0; Map hm = new HashMap(); for(String[] cloth : clothes){ if(hm.get(cloth[1]) == null){ List newList = new ArrayList(); newList.add(cloth[0]); hm.put(cloth[1], newList); }else{ List existList = hm.get(cloth[1]); existList.add(cloth..
코딩테스트 연습 - 정렬 - H-index https://programmers.co.kr/learn/courses/30/lessons/42747 import java.util.*; import java.lang.*; class Solution { public int solution(int[] citations) { int answer = 0; Integer[] integerArr= new Integer[citations.length]; for(int i = 0 ; i < citations.length ; i++){ integerArr[i] = citations[i]; } Arrays.sort(integerArr, Collections.reverseOrder()); int min = Math.min(int..
코딩테스트 연습 - 스택/큐 - 다리를 지나는 트럭 https://programmers.co.kr/learn/courses/30/lessons/42583 import java.util.*; class Solution { class Truck{ int weight; int entry; Truck(int weight,int entry){ this.weight = weight; this.entry = entry; } } public int solution(int bridge_length, int weight, int[] truck_weights) { int answer = 0; Queue waiting = new LinkedList(); Queue bridge = new LinkedList(); for(int..
코딩테스트 연습-정렬-가장 큰 수 https://programmers.co.kr/learn/courses/30/lessons/42746 import java.util.*; class Solution { public String solution(int[] numbers) { String answer = ""; String[] sArray = new String[numbers.length]; for(int i = 0 ; i < numbers.length ; i++){ sArray[i] = numbers[i]+""; } Arrays.sort(sArray, new Comparator(){ @Override public int compare(String o1, String o2){ return (o2+o1).co..
코딩테스트 연습-해시-전화번호 목록 https://programmers.co.kr/learn/courses/30/lessons/42577 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 && phone_book[i].length()