본문 바로가기

일반 학습/코딩 테스트59

[프로그래머스] 파일명 정렬 처리조건 더보기 https://programmers.co.kr/learn/courses/30/lessons/17686 풀이 입력 : ["foo9.txt", "foo010bar020.zip", "F-15"] 입력으로 들어온 파일명들을 for문을 돌려 하나하나 분해하게 될 것인데 foo9.txt에서 인덱스마다 정규표현식.test를 거쳐 문자라면 pushString에 쌓고 숫자라면 pushNumber에 쌓는데 처리조건에 보면 알파벳이 먼저 들어오고 다음 숫자가 들어오며 알파벳은 HEAD로 숫자는 NUMBER로 보면 된다. 결과를 가장 큰 for문이 한번 끝날때마다 convert 배열에 담아준다. 이 후에 이제 정렬을 해줘야한다. for문으로 다시 돌려 기준인덱스와 기준인덱스+1를 한 값의 인덱스0인 HEAD부.. 2022. 3. 11.
[프로그래머스] 압축 처리조건 더보기 https://programmers.co.kr/learn/courses/30/lessons/17684 풀이 입력 : "KAKAO" 입력된 문자열에서 인덱스 별로 최대 길이를 붙여가면서 사전에 있는 단어 있는지 검색하게 되는데 우선 사전을 알파벳A부터 Z까지 만들어야해서 객체를 생성하여 'A':1~'Z':26까지 넣어주게 된다. 하드코딩으로 하나하나 넣어줘도 되지만 아스키코드로 A-Z까지 돌려 객체를 생성하였다. KAKAO에서 K부터 검사한다. 사전에K가 있다. KA를 검사한다. KA는 없다 그렇다면 사전의 끝번호, 현재는 Z까지니 26 다음인 키를 KA로 밸류를 27로 넣어주게 된다. 이렇게 인덱스별로 계속 붙여 검사하다가 사전에 없는 단어까지가게 되면 그 단어를 객체에 이전까지 저장된 .. 2022. 3. 10.
[프로그래머스] 방금그곡 처리조건 더보기 https://programmers.co.kr/learn/courses/30/lessons/17683 풀이 입력값 : solution("ABCDEFG", ["12:00,12:14,HELLO,CDEFGAB", "13:00,13:05,WORLD,ABCDEF"]); 우선 musicinfos를 받아 map를 활용해 각 요소마다 elString으로 split(",")를 사용해 , 를 기준으로 나누어 주었다. 입력값을 기준으로 아래처럼 나누어진다. 여기서 우리는 시간이 12:00~ 12:14 처럼 뒤에 시간의 분에서 앞에 시간의 분을 빼면 총 분을 구하는게 쉽지만 만약에 12:30~13:20 이렇게 된다면 단순히 분만 빼주는 것으론 총 분을 구할 수 없다. 그래서 뒤 시간의 시간이 앞 시간의 시간보.. 2022. 3. 9.
[프로그래머스] 캐시 처리조건 더보기 https://programmers.co.kr/learn/courses/30/lessons/17680 풀이 LRU란 정해진 캐시크기로 만들어진 캐시에 데이터가 쌓여있을 때 새로운 데이터를 쌓으려면 1개를 내보내고 넣어야하는데 누굴 내보낼까 한다면 안에 든 데이터중 가장 먼저 들어온 즉, 오래놓안 엉덩이를 눌러붙이고 있었던, 가장 무관심속에 있었던 데이터를 내보내야한다 그리고 그 자리에 새로운 데이터를 쌓을것이다. 만약 쌓으려는 데이터가 또 쌓인 데이터중에 동일한 값이 있을 수 있다. 그럴경우 그자리를 그냥 그대로 사용한다. 이러한 경우에서 엉덩이를 눌러붙이고 있던 오래된 데이터를 교체하게 되면 Cache miss, 만약 있던 데이터를 그대로 사용하게된다면 cache hit이다. 처리조건에.. 2022. 3. 9.
[프로그래머스] 프렌드 4블록 처리조건 더보기 https://programmers.co.kr/learn/courses/30/lessons/17679 풀이 인자로 받은 m은 높이 n은 가로 board는 들어온 블록판이다. board는 ["TTTANT", "RRFACC", "RRRFCC", "TRRRAA", "TTMMMF", "TMMTTJ"] 와 같이 요소가 모두 스트링으로 되어있으니 이를 하나하나 쪼개주자. map을 돌려 각 요소에 split("")를 해준다. 이제부터는 while문을 돌려 깨질 블럭을 검색하고 깨질 블럭을 깨서 0으로 만들고 아래에서부터 0인부분이 있다면 위에서 0이아닌 블럭을 가져와 채우며 다시 깨질 블록을 검색하는 행위를 반복할 것이다. 만약 깨질 블럭이 없다면 블록판 board에 0을 세어 갯수를 리턴하자. 각 .. 2022. 3. 9.
[프로그래머스] 순위 검색 function solution(info, query) { for (let i = 0; i { return el !== "and"; }); } console.log(query); let result = []; for (let i = 0; i < query.length; i++) { let filterStart = info; for (let j = 0; j < query[i].length.. 2022. 3. 8.