딕셔너리10 [프로그래머스] 키패드 누르기 📌 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✅ 내 풀이(Success) : 🧐 Review: 키패드의 가운데 열인 [2, 5, 8, 0]을 누르는 경우를 어떻게 구현하느냐가 중요한 문제였다. 거리를 계산하기 위해서 어떻게 해야 될지 고민을 잠깐 해봤는데, 2차원 배열의 좌표 쌍(x, y)을 이용하면 쉽게 구현할 수 있을 것 같다는 생각이 들었다. 하지만 2차원 배열에서 숫자에 해당하는 좌표 쌍을 찾기까지 배열을 탐색하는 과.. 알고리즘 문제 풀이: 파이썬/Programmers 2022. 10. 28. [BOJ_13414] 수강신청 📌 문제 링크: https://www.acmicpc.net/problem/13414 13414번: 수강신청 입력 데이터는 표준 입력을 사용한다. 입력은 1개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 과목의 수강 가능 인원 K(1 ≤ K ≤ 100,000)와 학생들이 버튼을 클릭한 순서를 기록한 대기목 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 단순히 문제의 조건대로 구현하고 제출했을 때 '인덱스 에러'로 틀릴 가능성이 있는 문제이다. 위의 내 코드에서 12번째 줄이 없이 제출했을 때는 '인덱스 에러'로 틀렸는데, 해당 이유에 대해서 질문 게시판을 참고하고 엣지 케이스의 결과를 확인해본 결과 잘못된 부분을 찾을 수 있었다. 문제에서 명시된 K의 범위는 최대 1.. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 10. 17. [BOJ_10546] 배부른 마라토너 📌 문제 링크: https://www.acmicpc.net/problem/10546 10546번: 배부른 마라토너 마라토너라면 국적과 나이를 불문하고 누구나 참가하고 싶어하는 백준 마라톤 대회가 열린다. 42.195km를 달리는 이 마라톤은 모두가 참가하고 싶어했던 만큼 매년 모두가 완주해왔다. 단, 한 명 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 문제를 읽자마자 프로그래머스에서 풀어본 문제라는 것을 알았다. 심지어 예제의 이름도 똑같았다ㅋㅋㅋ 그래서 딕셔너리를 이용하면 이 문제를 쉽게 해결할 수 있을 것 같다는 생각을 했고, 별다른 고민없이 5분도 안걸려서 코드를 작성해서 제출했더니 통과할 수 있었다. 매일 알고리즘 문제를 푼 것은 아니지만 작년부터 문제 풀이에 꾸.. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 8. 28. [BOJ_20551] Sort 마스터 배지훈의 후계자 📌 문제 링크: https://www.acmicpc.net/problem/20551 20551번: Sort 마스터 배지훈의 후계자 지훈이는 Sort 마스터다. 오랫동안 Sort 마스터 자리를 지켜온 지훈이는 이제 마스터 자리를 후계자에게 물려주려고 한다. 수많은 제자들 중에 후계자를 고르기 위해서 지훈이는 제자들에게 문제 www.acmicpc.net ✅ 내 풀이(Success) : 🚩 Idea: 값의 존재 유무를 O(1)의 시간 복잡도로 체크하기 위해서는 딕셔너리를 사용하자! 알고리즘 문제 풀이: 파이썬/BOJ 2022. 6. 11. [BOJ_4158] CD 📌 문제 링크: https://www.acmicpc.net/problem/4158 4158번: CD 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 상근이가 가지고 있는 CD의 수 N, 선영이가 가지고 있는 CD의 수 M이 주어진다. N과 M은 최대 백만이다. 다음 줄 www.acmicpc.net ✅ 내 풀이(Success) : 🧐 Review: 이 문제는 '입력은 여러 개의 테스트 케이스로 이루어져 있다.'라는 부분이 핵심이라고 생각한다. 문제에서 주어진 예시는 하나의 테스트 케이스가 주어지고 입력의 마지막에 '0 0'으로 끝나서 하나의 테스트 케이스만 판별하는 문제처럼 보이지만, 해당 예시가 테스트 케이스가 하나뿐인 것이다. 처음에는 해당 부분을 생각하지 못한 채 코.. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 6. 10. [BOJ_2776] 암기왕 문제 링크: https://www.acmicpc.net/problem/2776 2776번: 암기왕 연종이는 엄청난 기억력을 가지고 있다. 그래서 하루 동안 본 정수들을 모두 기억 할 수 있다. 하지만 이를 믿을 수 없는 동규는 그의 기억력을 시험해 보기로 한다. 동규는 연종을 따라 다니며, www.acmicpc.net 내 풀이: Review: '수첩 2'의 원소가 '수첩 1'에 포함되어있는지를 확인해서 1 또는 0을 출력하는 문제이다. 처음 문제를 풀 때는 리스트에서 in을 통해 값을 체크하도록 코드를 작성했는데, 수첩들의 원소 개수가 각각 최대 1,000,000이므로 가뿐하게 '시간초과'가 발생했다. 그래서 리스트가 아닌 해시의 key를 이용해 값을 체크하도록 코드를 변경했더니 어렵지 않게 풀 수 있었.. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 5. 29. [BOJ] 회사에 있는 사람 문제 링크: https://www.acmicpc.net/problem/7785 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 내 풀이(Success): 내 풀이(Fail): Review: 위의 풀이에서 두 번째 풀이가 내가 처음 생각했던 로직대로 코드를 짜 본 것이고, 예시로 주어진 테스트 케이스는 성공했으나 문제를 맞히진 못했다. 그래서 질문 게시판을 보면서 반례가 있는지 확인을 해봤는데, '출근-퇴근-출근'인 경우에는 회사에 남아있는 사람으로 counting을 해야.. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 5. 29. [BOJ_2002] 추월 문제 링크: https://www.acmicpc.net/problem/2002 2002번: 추월 입력은 총 2N+1개의 줄로 이루어져 있다. 첫 줄에는 차의 대수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 대근이가 적은 차량 번호 목록이 주어지고, N+2째 줄부터 N개의 줄에는 영식이 www.acmicpc.net 내 풀이: Review: '추월 당했다'의 기준을 정확히 이해한다면 크게 어려운 문제는 아니라고 생각한다. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 5. 29. [BOJ_9375] 패션왕 신해빈 문제 링크: https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net 내 풀이: Review: 옷의 종류에 가능한 조합의 개수를 구하는 문제이다. 입력 값을 파이썬의 딕셔너리를 이용해 의상의 종류에 따라 분류하는 것은 어렵지 않았지만, 조합의 수를 카운팅 할 때 해당 종류의 옷을 입지 않는 경우를 하나 더해야 되는 것(answer *= len(clothes) +.. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 5. 5. [BOJ_1919] 애너그램 만들기 문제 링크: https://www.acmicpc.net/problem/1919 1919번: 애너그램 만들기 두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs www.acmicpc.net 틀린 풀이 1: 틀린 풀이 2 - 런타임 에러(KeyError): 맞은 풀이: Review: 두 번 틀렸을 때 dic1과 dic2에서 각각 key를 뽑아낼 필요 없이 dic1에서만 key를 뽑고 해당 키로 dic1과 dic2에서 알파벳의 개수를 뽑아내면 된다는 것을 확인했다. 해당 부분을 적용해서 풀이를 제출했을 때 런타임 에러가 발생했는데 이 부분은 if 조.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 28. 이전 1 다음