https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2020 KAKAO BLIND RECRUITMENT Level 2 문제다. 압축한 문자열 중 가장 짧은 길이를 찾기 위해 1부터 직접 압축하여 문자열을 생성하고 길이를 비교한다. 문자열 길이의 반 이상 단위로 압축할 수는 없으므로 1부터 문자열 길이의 반까지만 압축한다. 압축할 단위의 길이 i만큼 문자열을 자르고(delim), 그 뒤의 문자열이 자른 문자열로 시작하는지 확인한다. 자른 문자열로 시..
https://school.programmers.co.kr/learn/courses/30/lessons/72414#fnref1 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2021 KAKAO BLIND RECRUITMENT Level 3 문제다. 문제를 접근할 때까지 꽤나 시간이 걸렸던 문제인데, 접근을 잘 한다면 그 후에는 어렵지 않다. 먼저 각 초마다 몇명의 사람이 재생하고 있는지를 저장할 배열 time[]을 생성한다. 예를 들어 time[5] = 3 일 경우 5초에 3명의 사람이 영상을 재생하고 있는 것이다. logs의 원소 하나하나씩 돌면서 원소..
https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2021 KAKAO BLIND RECRUITMENT Level 3 문제다. 처음엔 정확성 테스트만 있는 줄 알고 제일 익숙한 DFS로 풀었었다. 하나의 DFS 메소드에서 합승하는 경우, a 혼자 가는 경우, b 혼자 가는 경우 각각 나눠 재귀함수를 호출했었고 정확성은 다 맞았지만 효율성에서 틀렸었다..ㅎ ↓ DFS로 구현한 코드 더보기 import java.util.*; class Solution..
https://school.programmers.co.kr/learn/courses/30/lessons/92344 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2022 KAKAO BLIND RECRUITMENT Level 3 문제다. 당연히 문제를 보자마자 브루트포스를 생각했지만 Level 3 짜리 문제기 때문에 시간 초과가 날 것이라고 생각했다. 그 후로 누적합(prefix sum)을 적용해보려고 했는데, 2차원 배열의 누적합은 어떻게 처리해야 할지 몰라서 결국 카카오테크에 있는 코테 해설을 참고했다. https://tech.kakao.com/2022..
https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2021 KAKAO BLIND RECRUITMENT의 Level 2 문제다. 동일한 코딩테스트의 Level 2 문제인 순위 검색을 풀고 나니 꽤 비슷하게 느껴져서 빠르게 풀었다. 두 문제 동일하게 주어진 문자열이 가능한 모든 조합을 DFS를 통해 생성한다. 순위 검색은 이분 탐색을 해서 결과값을 구하지만, 이 문제는 map의 value를 탐색해 결과값을 구하는 것이 다르다. 처음엔 메뉴를 주문한 ..
https://school.programmers.co.kr/learn/courses/30/lessons/72412 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2021 KAKAO BLIND RECRUITMENT Level 2 문제다. info의 각 값들을 2차원 배열에 넣고, query를 탐색하며 info를 하나하나 비교하는 코드를 작성했다. 정확성은 맞는데 효율성 테스트를 틀려서 문제 조건을 다시 보니, info 크기는 최대 50000이고 query 크기는 최대 100000이기 때문에 시간 초과가 날 수 밖에 없었다. https://coding-gra..
https://school.programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2021 KAKAO BLIND RECRUITMENT Level 1 문제다. 정규 표현식을 잘 몰라서 지저분하게 코드를 작성했다. Level 1이기 때문에 딱히 설명할 것 없이 코드를 보면 이해가 된다. for문으로 하나하나 다 탐색해 숫자, 영어, -, _, . 이외의 문자가 들어올 경우 일단 *로 치환하고, 나중에 String의 replaceAll을 통해서 *를 ""(빈 문자열)로 없앴다. St..
https://school.programmers.co.kr/learn/courses/30/lessons/92342 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2022 KAKAO BLIND RECRUITMENT Level 2 문제다. info가 11, n의 최대가 10이므로 가장 먼저 백트래킹 DFS를 떠올렸다. DFS가 진행될수록 result에 화살을 쏜 개수를 저장한다. 라이언이 무조건 이겨야하는 경우만 고려하면 되므로, 어피치가 쏜 화살보다 한개 더 많은 화살을 쏜다고 가정했다. 라이언이 화살을 쏠 때마다 cnt를 감소시켜서, 남은 화살의 개수를 ..