[PG/Python] 자물쇠와 열쇠
📌 문제 https://programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 📌 문제 접근 방법 자물쇠의 홈을 lock_down에 저장해주었다. 이 때, 가장 먼저 만나게 되는 인덱스를 기준으로 나머지 홈들과의 행, 열방향 거리를 저장해주었다. (가장 먼저 만나게 되는 홈을 기준으로 상대적 위치를 저장) 테스트 케이스 2, 4, 12번에서 자꾸 런타임 에러가 났는데, 이건 도저히 모르겠어서 질문하기를 참고해보니 자물쇠의 모든 값이 1인 경우였다. 이 경우 lock_down이 비..
2022. 1. 10.
[PG/Python] 거리두기 확인하기
📌 문제 https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 📌 문제 접근 방법 각 대기실마다 함수를 사용하여 거리두기가 잘 되어있는 지 확인..
2022. 1. 8.
[PG/Python] 보석 쇼핑
📌 문제 https://programmers.co.kr/learn/courses/30/lessons/67258 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 📌 문제 접근 방법 맨 처음에 짠 코드는 각 보석들의 인덱스를 딕셔너리에 저장한 후, 보석마다 가장 뒤에 있는 인덱스를 start에 담아주고 가장 앞에 있는 인덱스를 end에 담아줬다. 그 후, start에서 가장 작은 값과 end에서 가장 큰 값을 범위로 설정하면 최소의 길이로 모든 보석을 포함하는 구간을 찾을 수 있다. -> 하지만 짧은 구간이 여러 개일 경우 시작 진열대 번호가 가장 작아야 한다는..
2022. 1. 8.