분류 전체보기326 [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. [Python] 합집합, 교집합, 차집합, 대칭 차집합 1) 합집합 2) 교집합 3) 차집합 4) 대칭 차집합 Reference) https://docs.python.org/ko/3.8/library/stdtypes.html#set-types-set-frozenset 프로그래밍 공부/Python 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_1021] 회전하는 큐 문제 링크: https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 내 풀이: Review: deque의 원소를 회전하는 rotate()를 정말 오랜만에 써봤다. 해당 내용을 정리하기위해 블로그에 포스팅도 했다. deque에서는 리스트에서의 슬라이싱과 같은 방법을 이용할 수 없다. 따라서 해당 부분을 검색해보니 deque에서도 슬라이싱 적용이 가능할 수 있게 만드는 함수인 islice를 알게 되었다. 앞으로 또 사용할 일이 있을지 모르겠지만 해당 .. 알고리즘 문제 풀이: 파이썬/BOJ 2022. 5. 17. [Python] deque의 rotate() deque 의 rotate(n=1) deque의 원소를 오른쪽으로 돌린다. n이 음수이면 왼쪽으로 돌린다. deque가 비어 있지 않을 때 오른쪽으로 한 단계 회전하는 것은 왼쪽 d.appendleft(d.pop())과 같고, 왼쪽으로 한 단계 회전하는 것은 왼쪽 d.append(d.popleft()와 같다. Example) Reference) https://docs.python.org/3/library/collections.html#collections.deque.copy 프로그래밍 공부/Python 2022. 5. 17. 이전 1 ··· 17 18 19 20 21 22 23 ··· 33 다음