목록 전체 글 (304)
KEEP GOING

https://www.acmicpc.net/problem/3048 3048번: 개미 T초가 지난 후에 개미의 순서를 출력한다. 첫 번째 개미 그룹은 왼쪽에서 오른쪽으로 움직이고, 두 번째 그룹은 반대 방향으로 움직인다. www.acmicpc.net [구현] n1, n2 = map(int, input().split()) ant1 = list(input()) ant2 = list(input()) path = ant1[::-1] + ant2 t = int(input()) for _ in range(t): for i in range(len(path)-1): # 두 개미 그룹이 만났다면 자리를 바꾼다. if path[i] in ant1 and path[i+1] in ant2: path[i], path[i+1] =..
https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net [수학] 우선 m이 45보다 클 경우, 45를 빼주기만 하면 되기에 if else 문으로 나눈다. m이 45보다 작을 경우, h가 0인 경우 23시로 처리하고 m은 45를 빼고나서 60을 더해준다. h가 0보다 큰 경우 (1~23) h는 1만 빼주고 m은 45를 빼고나서 60을 더해준다. h, m = map(int, input().split()) if m - 45 < 0: if h == 0: h, m = ..

https://www.acmicpc.net/problem/2457 2457번: 공주님의 정원 첫째 줄에는 꽃들의 총 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 각 꽃이 피는 날짜와 지는 날짜가 주어진다. 하나의 날짜는 월과 일을 나타내는 두 숫자로 표현된다. 예를 들어서, www.acmicpc.net [그리디] - 월에 100을 곱하고 일을 더해서 날짜 형식을 변환하는 방식 참고 - 또 다른 접근법 from datetime import date date(2022, 3, 1).toordinal() # 738215 -> 1년 1월 1일을 기준으로 전체 일수 계산 date(1,1,1).toordinal() # 1 periods = [] answer = 0 n = int(input..
https://www.acmicpc.net/problem/10597 10597번: 순열장난 kriii는 1부터 N까지의 수로 이루어진 순열을 파일로 저장해 놓았다. 모든 수는 10진수로 이루어져 있고, 모두 공백으로 분리되어 있다. 그런데 sujin이 그 파일의 모든 공백을 지워버렸다! kriii가 순 www.acmicpc.net 우선 1부터 N까지 구성된 수열을 복구하기 위해서는 N보다 큰 숫자는 제외하고 N까지만 찾아야 하기 때문에 N이 무엇일지 알아야 한다. N은 주어진 문자열 kriii = '4111109876532' 의 길이를 통해 찾을 수 있다. 문자열의 길이가 10보다 작은 경우 N = len(krii) 문자열의 길이가 10보다 클 경우 N = 9 + (len(krii)-9)//2 예를들어,..

https://www.acmicpc.net/problem/1339 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net [성공한 코드 Greedy] 알파벳의 각 자리수 별로 가중치를 두어 dic에 저장 ex) ABCD => dic = {'A':1000, 'B':100, 'C':10, 'D':1} from collections import defaultdict N = int(input()) strings = [] answer = 0 number = 9 dic = defaultdict(int) for _ in r..
https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 1. 블로그 참고 from collections import deque n = int(input()) board = [list(map(int, input().split())) for _ in range(n)] answer, q = 0, deque() def get(i, j): # 0이 아닌 값이라면 if board[i][j]: q.append(board[i][j]) #..

https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr [math 모듈 trunc, dic.values() 사용] 이번에 소수점 '버림' 문제를 처음봐서 trunc 함수에 대해 알게 되었다. from collections import defaultdict from math import trunc def solution(str1, str2): s1_dic, s2_dic = defaultdict(i..

https://leetcode.com/problems/trips-and-users/ Trips and Users - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com [서브쿼리 사용] SELECT request_at Day ,ROUND(COUNT(IF(status != 'completed', TRUE, NULL))/COUNT(*), 2)'Cancellation Rate' FROM Trips WHERE client_id NOT IN (SELECT users_id FR..