알고리즘 문제 풀이: 파이썬/BOJ211 [BOJ_5430] AC 📌 문제 링크: https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net ❌ 내 풀이 (Failure) : ✅ 내 풀이 (Success) : 🧐 Review: 골드 난이도의 문제지만 구현 아이디어가 간단한 편이라서 쉽게 생각했던 문제였다. 하지만 풀이를 제출하고 계속되는 '런타임 에러'를 보고 어떻게 해결해야 할지 고민을 많이 했었다... 해당 에러는 배열의 길이가 0일 때 값을 입력받지 않고 결괏값을 출력하는 경우라서 배열이 길이가 0이더라도 일단 input을 받도록 코드를 수정했다. 이렇게 수정했을 때는 .. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 6. 5. [BOJ_15904] UCPC는 무엇의 약자일까? 문제 링크: https://www.acmicpc.net/problem/15904 15904번: UCPC는 무엇의 약자일까? 첫 번째 줄에 알파벳 대소문자, 공백으로 구성된 문자열이 주어진다. 문자열의 길이는 최대 1,000자이다. 문자열의 맨 앞과 맨 끝에 공백이 있는 경우는 없고, 공백이 연속해서 2번 이상 주어지는 www.acmicpc.net 내 풀이: 참고용 풀이: Review: 나는 입력 값에 'UCPC'가 있는지 확인하기 위해서 check()라는 함수를 이용해 4개의 if 문을 사용해 문제를 해결했다. 문제를 풀고나서 다른 사람의 풀이를 확인해보니 내 풀이보다 짧고 더 이해하기 쉬운 풀이를 발견했다. 해당 풀이를 보니 더 열심히 공부해야겠다는 생각이 들었다. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 6. 5. [BOJ_5635] 생일 문제 링크: https://www.acmicpc.net/problem/5635 5635번: 생일 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. www.acmicpc.net 내 풀이: Idea: 1. 학생의 수 n만큼 for 반복문을 돌며 데이터를 입력받고, 리스트에 담는다. 2. 리스트를 연도, 월, 일 순으로 오름차순으로 정렬한다. -> 정렬을 통해 연도, 월, 일이 가장 작은 값이 앞쪽으로 이동한다. 3. 정렬된 원소중의 첫 번째 원소는 가장 나이 많은 사람이 되고, 마지막 원소는 가장 나이가 적은 사람이다. 4. 출력 형식에 맞게 해당 원소들을 출력한다. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 6. 5. [BOJ_10610] 30 문제 링크: https://www.acmicpc.net/problem/10610 10610번: 30 어느 날, 미르코는 우연히 길거리에서 양수 N을 보았다. 미르코는 30이란 수를 존경하기 때문에, 그는 길거리에서 찾은 수에 포함된 숫자들을 섞어 30의 배수가 되는 가장 큰 수를 만들고 싶어한 www.acmicpc.net 내 풀이: Idea: - 배수 판정법 * 3의 배수 = 자릿수의 합이 3의 배수 * 10의 배수 = 일의 자리의 수가 0이다. (= 자릿수 중에 0이 하나라도 있다.) * 30의 배수 = 3의 배수 and 10의 배수 1. 입력받은 숫자가 30의 배수인지 확인 1-1. 30의 배수가 아니라면 -1을 출력 1-2. 30의 배수라면 가장 큰 30의 배수를 만들기 위해 내림차순으로 정렬 후 출력 알고리즘 문제 풀이: 파이썬/BOJ 2022. 6. 4. [BOJ_2798] 블랙잭 문제 링크: https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 내 풀이: Idea: N의 최대값이 100으로 삼중 반복문을 돌려 합계를 구한다고 해도 최대 연산 횟수는 1,000,000 이라서 가능한 모든 경우의 수에 대해 탐색이 가능하여 완전탐색으로 해당 문제를 풀 수 있다. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 5. 30. [BOJ_11866] 요세푸스 문제 0 문제 링크: https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 내 풀이: Review: 문제에서 주어진 조건을 확인하고 연습장에 구현 과정을 적어본다면 어렵지 않게 풀 수 있는 문제이다. 결괏값을 출력할 때 내 코드에서 print()를 3번 사용했는데, 이 부분을 문자열끼리의 덧셈으로 구현했다면 8줄의 코드로 문제를 해결할 수 있을 것 같다. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 5. 29. [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_14425] 문자열 집합 문제 링크: https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 내 풀이: Review: 집합, 반복문, 조건문을 이용하면 어렵지 않게 해결할 수 있는 문제이다. 알고리즘 문제 풀이: 파이썬/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. 이전 1 ··· 10 11 12 13 14 15 16 ··· 22 다음