카카오 : 키패드 누르기 — 파이썬: 2020 카카오 인턴십 문제 풀이

“괜찮아! 아직 코딩테스트까지 3일이나 남았어” 프로젝트 (1)

SoniaComp
2 min readMar 31, 2021

2020 카카오 인턴십

  1. 키패드 누르기
  2. 수식 최대화
  3. 보석 쇼핑
  4. 경주로 건설

공식해설

문제 링크

1. 문제분해

  • 전체문제
    input : 눌러야 하는 핸드폰 번호 배열, 왼손잡이 여부
    output : 누른 손 배열
  • 눌러야 하는 핸드폰 번호마다
    input : 눌러야 하는 핸드폰 번호, 왼쪽 손, 오른쪽 손 위치, 왼손잡이 여부
    output : 누른 손
  • 2,5,8,0 판별 함수 따로 필요
    input : 눌러야 하는 번호, 왼쪽 손, 오른쪽 손 위치, 키패드 정보, 왼손잡이 여부
    output : 누른 손, 바뀐 왼쪽 손, 오른쪽 손 위치

2. 패턴인식, 자료 표현

  • 키패드
    → 2,5,8,0 을 판별할 때, 위치 값 필요
    → 2차원 배열로 2차원 키패드의 위치값 계산
  • [1,4,7], [3, 6, 9] 는 왼쪽, 오른쪽으로 지정

3. 패턴분석, 일반화

  • 눌러야 하는 핸드폰 번호마다 누른 손 판별 로직 실행
  • [1,4,7], [3,6,9], [2,5,8,0]
    → 키 패드의 번호 포함 그룹에 따라 로직이 달라짐 (분기)
  • [2,5,8,0] 그룹의 경우, 누른 손을 판별하려면 거리를 계산해야 함

4. 구현

출처: tjdud0123.velog

--

--

SoniaComp
SoniaComp

Written by SoniaComp

Data Engineer interested in Data Infrastructure Powering Fintech Innovation (https://www.linkedin.com/in/sonia-comp/)

No responses yet