본문 바로가기

python33

프로그래머스 - 구명 보트 (Python) lv. 2 단계의 코딩 테스트 연습 문제 중 '구명 보트'에 대한 풀이를 설명하고 있습니다.  프로그래머스 - 구명 보트 (Python)  코딩 테스트 연습 문제 풀이  1. 원리 2. 코드위의 목차를 클릭하면 해당 글로 자동 이동 합니다. 원리먼저, 이 문제에 대해 주의할 점을 얘기하자면 테스트 케이스 16 ~ 22까지는 문제에 나와있는 몸무게 제한인 40kg보다 작은 수들이 들어 있다.따라서 40kg인 사람의 수를 array[40]에 기록하는 식으로 푸는 사람들은 탐색을 시작할 때 array[40]에서 시작할게 아니라 array[1] 에서 시작해야 한다...최대 몸무게가 240kg이므로, 0~240 의 배열을 하나 만들고 0으로 초기화 한다 (생각하기 편하도록 241 크기의 배열을 만들어줬다).그리고.. 2024. 10. 12.
프로그래머스 - 마법의 엘리베이터 (Python) lv. 2 단계의 코딩 테스트 연습 문제 중 '마법의 엘리베이터'에 대한 풀이를 설명하고 있습니다.  프로그래머스 - 마법의 엘리베이터 (Python)  코딩 테스트 연습 문제 풀이  1. 원리 2. 코드위의 목차를 클릭하면 해당 글로 자동 이동 합니다. 원리먼저, 원리를 설명하기에 앞서 다른 여러 알고리즘 블로그에서 이 자리가 5면 그 다음 자릿수를 확인하면 된다와 같은 풀이들이 많이 보일텐데, 굳이 그렇게 하지 않고 쉽게 풀 수 있다는 것을 설명하고자 한다.아, 다 풀고 항상 질문하기에 들어가보는데 대부분 그런 풀이를 알려주고 있었다.내가 사용한 방식은 완전 탐색이다.다른 블로그들과 마찬가지로 1의 자리부터 더할지 뺄지를 선택하는 것은 동일하다.i번째 자릿수의 숫자를 n(i)라고 했을 때, 세 가지 .. 2024. 10. 12.
프로그래머스 - 가장 큰 수 (Python) lv. 2 단계의 코딩 테스트 연습 문제 중 '가장 큰 수'에 대한 풀이를 설명하고 있습니다  프로그래머스 - 가장 큰 수 (Python) 코딩 테스트 연습 문제 풀이  1. 원리 2. 코드위의 목차를 클릭하면 해당 글로 자동 이동 합니다. 원리가장 처음에 생각한 것은 정렬을 해놓고 큰 수부터 집는 것이었다.하지만 해결해야할 문제가 있었는데, 앞자리가 같은 경우 뒷자리를 어떻게 비교할 수 있을까였다.그래서 고민을 하다가 생각해낸 내용은 다음과 같다.3, 330 이 있을때, 순서대로 선택하면 3, 330 이 되어야 한다.어? 330 보다 3을 먼저 집어야 하잖아?그래서 330이 어느 숫자로 바뀌어야 내가 3을 나중에 선택하게 되는 순간이 올까를 고민했다.331, 33331과 3313 이 만들어지므로, 3,.. 2024. 10. 10.
프로그래머스 - 순위 검색 (Python) lv. 2 단계의 코딩 테스트 연습 문제 중 '순위 검색'에 대한 풀이를 설명하고 있습니다.  프로그래머스 - 순위 검색 (Python) 코딩 테스트 연습 문제 풀이  1. 원리 2. 코드위의 목차를 클릭하면 해당 글로 자동 이동 합니다. 원리처음에는 info에 들어있는 조건들을 합쳐셔 키를 만들면 된다고 생각했다.java backend junior chicken -> "javabackendjuniorchicken"그런데 생각해보니 java backend junior chicken에 해당하는 사람은 다음과 같은 조건에도 공통적으로 부합할 수 있다.어떠한 조건도 없는 경우javabackendjuniorchickenjava backendjava juniorjava chickenbackend juniorbac.. 2024. 10. 10.
프로그래머스 - 혼자서 하는 틱택토 (Python) lv. 2 단계의 코딩 테스트 연습 문제 중 '혼자서 하는 틱택토'에 대한 풀이를 설명하고 있습니다.  프로그래머스 - 혼자서 하는 틱택토 (Python) 코딩 테스트 연습 문제 풀이  1. 원리 2. 코드위의 목차를 클릭하면 해당 글로 자동 이동 합니다. 원리일단, 빙고를 어떻게 확인하는지 이런 구현적인 부분들을 제쳐두고, 해당 게임이 문제가 있는 경우에 대한 조건을 나열해보자O가 선공이고 X가 후공이므로 X의 개수가 O보다 많아지면 안된다.O와 X가 번갈아가면서 하는 게임이므로 O의 수 - X의 수가 1을 초과하면 안된다 (2 이상일 경우 한 쪽이 연속으로 둔 경우이다).O가 빙고가 된 경우, O의 개수와 X의 개수가 같을 수는 없다! O가 선공이므로 먼저 빙고를 맞추면 게임이 종료되기 때문이다.O가.. 2024. 10. 9.
프로그래머스 - 미로 탈출 (Python) lv. 2 단계의 코딩 테스트 연습 문제 중 '미로 탈출'에 대한 풀이를 설명하고 있습니다.  프로그래머스 - 미로 탈출 (Python)  코딩 테스트 연습 문제 풀이  1. 원리 2. 코드위의 목차를 클릭하면 해당 글로 자동 이동 합니다. 원리사실, 이번 문제는 딱히 설명할 부분이 없다.이 문제를 풀면서 정답률이 조금 더 낮고, 나한테 도움이 되는 문제를 풀기로 했다.해당 문제의 아이디어는 특정 지점까지 몇 번 만에 도달할 수 있는지를 묻는 것이기 때문에 BFS를 쓰면된다.하지만 레버를 당겨야 하는거 아닌가요?그래서 레버까지 BFS를 돌고, 레버에서 탈출 지점까지 BFS를 돌면 된다.그리고 탈출이 불가능한 경우에는 -1을 출력해야 하므로 두 가지의 경우를 염두해두자첫 번째는 레버를 당길 수 없는 경우이.. 2024. 10. 9.
반응형