코딩테스트

[코딩테스트] 프로그래머스 카카오 코딩테스트 기출 복기1

pythaac 2022. 3. 10. 03:22

1. 신규 아이디 추천 (*)

https://programmers.co.kr/learn/courses/30/lessons/72410?language=python3 

 

코딩테스트 연습 - 신규 아이디 추천

카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로

programmers.co.kr

  • re 사용법
    • []와 ^ 사용
      [^ ]
    • 리스트 슬라이싱
      길이가 16 이상일 때 길이 15로 만들기 -> string[:15]

 

2. 메뉴 리뉴얼 (**)

https://programmers.co.kr/learn/courses/30/lessons/72411

 

코딩테스트 연습 - 메뉴 리뉴얼

레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서

programmers.co.kr

  • Counter의 most_common
    • value가 같은 모든 원소 뽑기
      takewhile()이라는 방법도 있지만, 그냥 for문 돌려서 확인하면 될듯

 

3. 광고 삽입 (****)

https://programmers.co.kr/learn/courses/30/lessons/72414#fn1

 

코딩테스트 연습 - 광고 삽입

시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11

programmers.co.kr

  • 문제 이해
    • 1시간 38분 걸림
    • 언제부터 언제까지 누적 시간을 잘못 계산
    • 00:00:00-00:00:05까지 계산할 때, 00:00:05에 시청을 시작한 사람도 포함시킴
    • 윈도우 슬라이스 문제 + 상태 저장에서 각 틱마다 상태를 정확하게 정의해야함

 

4. 가사 검색 (***)

https://programmers.co.kr/learn/courses/30/lessons/60060

 

코딩테스트 연습 - 가사 검색

 

programmers.co.kr

  • defaultdict 안에 defaultdict
    • 헷갈리지 않게 조심

 

5. 문자열 압축 (**)

https://programmers.co.kr/learn/courses/30/lessons/60057?language=python3 

 

코딩테스트 연습 - 문자열 압축

데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문

programmers.co.kr

  • 문제 조건 확인하기
    • 입력 문자열 s의 길이가 1 이상 -> 1도 포함
    • s의 길이가 1일 때 런타임 에러
  • 예전에 풀었던 코드가 더 좋음
    • 예전 : 문자열을 개수만큼 자름 -> 배열에 저장 -> zip으로 하나씩 비교
    • 지금 : 처음 정보 저장 -> 비교 후 정보 업데이트
    • 예전 습관이 다시 나온다 : 비효율적이라 생각하지말고 깔끔한 코드를 작성하자