일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 2309
- leetcode 2405
- 백준 팰린드롬수
- 파이썬
- 구현
- 스택
- BOJ
- til
- python 10989
- 코딩테스트 준비
- python 1259
- 99항해
- 항해99
- leetcode
- 프로그래머스
- BFS
- python 10250
- Python
- 개발자 취업
- python 14503
- softeer
- 백준 막대기
- boj 2309
- 백준
- 큐
- 99클럽
- Python 20001
- 일곱 난쟁이
- python 2309
- 백준 카드1
- Today
- Total
목록Python (29)
동까의 코딩
오늘의 문제 중 하나인 숫자 카드 2 문제를 풀어보았다. 문제만 읽고 답변을 작성하니 처음엔 쉽다..라는 생각이 들고 제출하니 시간초과가 나왔다.... https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,0 www.acmicpc.net N, num_list = int(input()), list(map(int, input().split())) M, cnt_list = int(input()), list(map(int, input().split())..
오늘의 문제인 침투를 풀어보았다. 기본적인 BFS & DFS로 풀 수 있었다. https://www.acmicpc.net/problem/13565 13565번: 침투 첫째 줄에는 격자의 크기를 나타내는 M (2 ≤ M ≤ 1,000) 과 N (2 ≤ N ≤ 1,000) 이 주어진다. M줄에 걸쳐서, N개의 0 또는 1 이 공백 없이 주어진다. 0은 전류가 잘 통하는 흰색, 1은 전류가 통하지 않 www.acmicpc.net dfs 풀이 import sys sys.setrecursionlimit(3000000) def dfs(y, x): per_lst[y][x] = 2 for dy, dx in d: Y, X = y+dy, x + dx if (0
Softeer에서 X marks the Spot이라는 문제를 풀어보았다. https://softeer.ai/practice/7703 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai N을 입력받고 N번 왼쪽 오른쪽 단어를 입력받는다. 왼쪽 단어에서 x나 X가 있는 index를 추출해 오른쪽 단어에 해당 index에 있는 값을 뽑아 정답에 추가시킨다. 소문자는 대문자로 바꾼다(문제를 잘 못 읽어서 소문자 -> 대문자, 대문자 -> 소문자 로 풀었었습니다.....) import sys N = int(input()) answer = '' for _ in range(N): s_lst, t_lst = map(str, input().split()) for i, s in enumerate(s_ls..
오늘은 Lv.2 연탄의 크기 문제를 풀겠습니다. https://softeer.ai/practice/7628 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 문제에서 요구하는 건 난로 속에 들어갈 연탄의 최대갯수를 구하는 문제이다. 입력으로 n은 난로의 갯수 , 그 다음주엔 각 집에 놓여 있는 난로의 반지름의 길이이다. 풀이 방법으로 2부터 최대 100까지 연탄의 반지름으로 구성되어 있으니 for 문을 통해 난로에 들어있는 최대 수를 반복하는 반복문을 만들어준다. 그리고 2부터 순차적으로 2를 곱해주며 난로의 최대 크기까지 탐색 후 카운트를 해주어 최댓값을 구한다. import sys n = int(input()) num_lst = list(map(int, input().split()..
스택과 큐 문제 중 하나인 키로거 문제를 풀어보았습니다. 난이도는 중정도로 될 것 같습니다. https://www.acmicpc.net/problem/5397 5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L ≤ 1,000,000) 강산이가 백스페이스를 입 www.acmicpc.net 풀이 방식은 스택을 두 개로 사용하는 방법을 선택하였습니다. 처음에는 시뮬레이션 그대로 코딩을 짜주다가 시간 제한이 뜨게 되어 스택을 사용하는 방법을 찾아보았더니 간단한 해답이 나왔습니다. 왼쪽 스택과 오른쪽 스택으로 나눠주어 그 사이에 커서를 두고 진행하면 간단합니다. 단어를 넣거나 뺄 때는 왼쪽..
오늘은 프린터 큐 문제를 풀어보았습니다. 문제는 구조는 기본 Queue의 자료구조인 FIFO - First In First Out를 문제로 만들었습니다. https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 문제 풀이 방법으로는 deque를 사용해서 최대한 queue에 중점을 주고 문제를 풀었습니다. 1. 먼저 m의 위치를 기억해 주고, 위치를 옮겨줄 때마다 위치를 업데이트해 준다. 2. 가장 큰 값이 먼저 나가므로 맨 앞에 가장 큰 값이 오면 pop을..
기본 스택 문제 중 하나인 스택 수열 문제를 풀어보았습니다. https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 문제를 처음 보았을 땐 이해가 되지 않았지만 아래 힌트를 보고 풀이를 하였습니다. 제일 먼저 입력된 숫자만큼 count를 해줘서 push를 진행해 주고, 해당 숫자가 나오면 반복문을 탈출하여 pop을 진행하고 숫자를 빼내어 줍니다. 예제 1을 예로 들어보면..
오늘은 기본 구현 문제인 음계 문제를 풀어보았습니다. https://www.acmicpc.net/problem/2920 2920번: 음계 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8 www.acmicpc.net 풀이 방식은 반복문을 통해 첫 번째를 기준으로 내 다음 숫자보다 크면 ascending, 내 다음 숫자보다 작으면 descending을 통해 분류하는 방법을 택하였습니다. 처음에 리스트를 받아오고, bool로 구성된 ascending과 descending을 True로 설정해 주고 반복문을 돌게 만듭니다...