일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 99항해
- til
- BOJ
- 백준 카드1
- python 1259
- softeer
- 99클럽
- Python
- 프로그래머스
- 파이썬
- 스택
- python 14503
- Python 20001
- 큐
- 코딩테스트 준비
- 항해99
- python 2309
- 일곱 난쟁이
- leetcode
- 백준 막대기
- BFS
- boj 2309
- python 10250
- 백준 2309
- 개발자 취업
- python 10989
- 구현
- 백준 팰린드롬수
- leetcode 2405
- 백준
- Today
- Total
목록분류 전체보기 (66)
동까의 코딩
오늘은 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로 설정해 주고 반복문을 돌게 만듭니다...
https://www.acmicpc.net/problem/2083 2083번: 럭비 클럽 입력 받은 각 회원에 대해 이름과 분류를 출력한다. 성인부 회원이면 'Senior', 청소년부 회원이면 'Junior'를 출력한다. www.acmicpc.net 간단한 구현 문제인 럭비 클럽 문제를 풀어보았습니다. input split을 통해 이름 나이 몸무게를 입력 받아 17세보다 많거나, 몸무게가 80kg 이상인 경우를 나눠주어 Senior와 Junior를 나눠주는 코드를 작성하였습니다. while True: sentence, age, weight = input().split(' ') club = 0 if sentence == '#': break if int(age) > 17 or int(weight) >= 80..
오늘은 기본 구현문제를 풀어보았습니다. while 반복문을 통해 계속해서 루프를 돌게 만들고, '#'이 입력으로 들어오면 반복문을 나가준다. 조건문을 통해 count를 추가해 주는 코드를 세워 주었다. while True: string_input = input() cnt = 0 if string_input == '#': break for st in string_input: if st == 'a' or st == 'A': cnt += 1 elif st == 'e'or st == 'E': cnt += 1 elif st == 'i' or st == 'I': cnt += 1 elif st == 'o' or st == 'O': cnt += 1 elif st == 'U' or st == 'u': cnt += 1 p..
브루드 포스를 이용해서 푸는 문제 중 하나인 블랙잭을 풀어보았습니다. N과 M을 입력 받고 N개의 정수를 입력 받아 3개의 정수를 더해 M에 가깝거나 같은 최대 숫자를 정하는 문제이다. https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 문제풀이는 3차 반복문을 통하여 전체적으로 세 수의 합을 만족하는 상태를 만들어 주었다. n, m = map(int, input().split(' ')) blackjack_list ..