일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 백준 막대기
- 백준 카드1
- 코딩테스트 준비
- leetcode
- BFS
- 백준 2309
- 99클럽
- python 10989
- 큐
- python 14503
- 99항해
- Python 20001
- python 1259
- softeer
- 스택
- 구현
- 파이썬
- python 2309
- leetcode 2405
- BOJ
- Python
- 항해99
- 백준
- boj 2309
- python 10250
- til
- 일곱 난쟁이
- 프로그래머스
- 백준 팰린드롬수
- 개발자 취업
- Today
- Total
목록문제 풀이/백준 (21)
동까의 코딩
브론즈 1 문제이지만 메모리 초과가 많이 나오는 문제라서 작성하여본다. https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net append / sort를 사용하면 메모리를 다시 재설정해줘서 추가하기 때문에 메모리 초과가 난다. 메모리를 미리 할당 시켜주고, 해당 인덱스에 1씩 더해줘서 처음부터 추가된 숫자 인덱스만큼만 출력해주면 답이 나온다. import sys n = int(sys.stdin.readline()) num_list = [0] * 10001 for _ in..
https://www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 완전 어렵게 생각해서 풀이가 길어져 런타임 에러가 나왔다. 숫자들을 2로 나눠주어 나머지가 1이면 가운데 숫자를 빼주고, 스택에 쌓아 동일한 값이 나오면 빼주는 방식으로 진행했었는데, 런타임 에러가 뜨고 찾아보니 간단한 구현이였다..... 배열을 거꾸로 뒤집어서 원래 배열과 같은지만 확인해주면 끝나는 문제였다.. while True: n = input() if n == '0': break if n == n[::-..
https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 간단한 문제라고 생각하고 풀었다가 2번 틀렸습니다를 받고 다시 풀게 되었습니다. 일단 H, W, N을 받고, 방을 배정받는 공식에 대해 생각해보았습니다. 방은 101호부터 102호 넘어가는 것이 아닌 101호 - 201호 순으로 위로 올라갑니다. 그러므로 층수의 나머지를 앞에 층 호수로 정해주고, 나눈 몫에 1을 더해 그 층에 맞는 호실을 배정받는 풀이를 하였습니다. 하지만 여기서 문..
https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net for _ in range(int(input())): ox_input = input() cnt = 1 answer = 0 for st in ox_input: if st == 'O': answer += cnt cnt += 1 else: cnt = 1 print(answer)
https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 브루드 포스 기본문제인 일곱 난쟁이를 풀어보았다. 이 문제를 풀어보면서 브루드포스에 대한 내용도 인지하였고, dfs를 사용하여 풀이했다. short_men = [int(input()) for _ in range(9)] search_short_men = [] def dfs(depth, start): if depth == 7: if sum(search_short_men) == 100: for j in sort..
https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 브루드 포스 기본문제인 일곱 난쟁이를 풀어보았다. 이 문제를 풀어보면서 브루드포스에 대한 내용도 인지하였고, dfs를 사용하여 풀이했다. short_men = [int(input()) for _ in range(9)] search_short_men = [] def dfs(depth, start): if depth == 7: if sum(search_short_men) == 100: for j in sort..
오늘은 구현문제 중 하나인 로봇청소기를 풀어보았다. https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net 문제를 간략히 요약하면 1. 방의 크기가 N, M 크기로 입력 받음 2. 초기에 로봇청소기 위치와 방향을 입력 받음 3. 방에 기본값을 입력 받음 4. 0은 청소해야 할 곳, 1은 벽 5. 청소를 진행할 때 청소할 수 있는 구역의 합을 출력하라. 풀이 1. 입력을 다 받아준다. 2. deque에 ..
기본적인 구현문제인 카드1 문제를 풀어보았다. https://www.acmicpc.net/problem/2161 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 간단한 구현으로 풀이하였다. from collections import deque N = int(input()) num_lst = deque([i for i in range(1, N + 1)]) num_lst.reverse() while num_lst: cut_num = num_lst.pop() print(cut_num, end=' ') if num_..