문제 https://www.acmicpc.net/problem/1978 >
https://www.acmicpc.net/problem/2231m은 n의 생성자m의 분해합은 nn = 256 (245 + 2 + 4 + 5)m = 245m은 n의 생성자m의 분해합은 nn = 256 (245 + 2 + 4 + 5)m = 245n = m + (
2292\. 벌집< 규칙 >1 (1개)2 3 4 5 6 7 (6개)8 9 10 11 12 13 14 15 16 17 18 19 (12개)20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 (18개)... (24개)
문제 바로가기
2798\. 블랙잭n장의 카드에서 3장을 뽑아합이 m을 넘지 않으면서 m과 최대한 가깝게 만든다.n, m 입력받음.카드에 쓰여있는 수 입력받음.3중 for문x 0 ~ n-2y x+1 ~ n-1z y+1 ~ n이전 코드와 다른 점내 코드 : x,y,z의 합을 저장하는 s
2869\. 달팽이는 올라가고 싶다높이가 V미터낮 : A미터 위로밤 : B미터 아래로단, 정상에 올라가면 미끄러지지 않는다.\-> 정상까지 몇일이 걸리는가?x를 정상까지 걸리는 일 수 라고 하자.처음엔 A\*x - B\*x >= V를 만족시키면 된다고 생각했는데 이 경
2775\. 부녀회장이 될테야a층 b호 : (a-1)층의 1호~b호까지 사람들 수의 합0층부터, 1호부터 있음.0층 i호 : i명k층 n호에는 몇명의 사람이?
1676\. 팩토리얼 0의 개수N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.: list(map(int,str(num)))
1920\. 수 찾기입력:NN개의 정수MM개의 수 -> 이 수들이 A안에 존재하는지출력: M개의 줄에 답 출력 1/0n과 m의 범위가 1 ≤ N,M ≤ 100,000이므로 i가 n_list에 있는지 하나씩 탐색하려면 시간이 많이 걸릴것이라고 생각해 집합을 사용해보기로
균형잡힌 세상
1260. DFS와 BFS 생각하기 입력값 받기 그래프 선언 dfs bfs 함수실행 🔍 코드 🌀 Deque 초기화 참고) DFS BFS란? 백준 문제 추천 [Convenant:티스토리] [Python] DFS/BFS 알고리즘 / 백준 1260 그림 풀이 [
문제 바로가기이 문제는 BFS를 이용하여 해결할 수 있다. BFS는 시작지점에서 가까운 노드부터 차례대로 그래프의 모든 노드를 탐색하기 때문이다.첫 번째 시작 위치는 다시 방문할 수 있도록 되어(maps\[0]\[0]의 값은 1이므로) 다른 값으로 변경될 여지가 있다.
문제 바로가기bfs를 사용해야 함은 알았지만 내 힘으로는 안풀려서 결국 정답코드를 봤다ㅜ방문을 체크하고 범위내에 있음을 체크하는건 생각하지 못했다.내가 생각한 방법 :걸리는 시간(누적 초)을 함께 큐에 넣었다. q.append(현재위치, 현재누적초) (이 방법을 사용한
문제 바로가기t : 테스트 케이스 개수m : 가로(열), n: 세로(행), k: 배추개수(x,y) 배추위치 (x:가로, y:세로)DFS와 BFS 모두 사용가능한 문제이다.테스트케이스 개수 t 입력받고, t만큼 반복m,n,k입력받음k만큼 배추의 위치 입력받음. 이때 함께
문제 바로가기 N : 정점의 개수 (1<= N <=1,000) M : 간선의 개수 (0<= M <=N*(N-1)/2) (u, v) 간선의 양 끝점을 입력받음. 방향없는 그래프 연결요소의 개수는? 🔍 틀린 나의 코드 (시간초과) 🔍 다른 코드 참고 코드 (DFS
문제 바로 가기Reference토마토가 익을 때까지의 최소날짜를 구하고, 주변의 토마토들을 익혀나가므로 BFS를 사용해야하는 문제임을 알 수 있었다.모든 좌표를 돌면서 값이 1이면(익은 토마토이면), 해당좌표에 대해 bfs(x,y)를 실행하도록 하였다.하지만 예제입력3
문제 바로 가기나이트가 최소 몇 번 만에 이동할 수 있는지를 묻는 문제이다. "최소 이동 횟수"를 구해야 하므로 BFS를 사용하였다.이전에 풀어봤던 미로탐색과 같은 유형이다. 이동 방향이 상하좌우에서 8가지로 더 다양해졌다는 차이가 있다.알고리즘 자체는 쉽게 생각해냈고
문제 바로가기 업로드중.. 🔍 첫 번째 코드 - 이진탐색, 딕셔너리 🔍 두 번째 코드 - 딕셔너리, key로 조회 🔍 세 번째 코드 - Counter
문제 바로가기 길이가 제각각인 K개의 랜선을 가지고 있다. $$1 \leq K \leq10,000$$ N개의 같은 길이의 랜선을 만들고자 한다. $$1 \leq N \leq1,000,000$$ 랜선의 길이 $$a$$라 했을때, $$a$$는 자연수이며 $$a \le
나무 자르기결과값으로 이진탐색의 끝점 end를 출력한다.이 문제는 절단기에 설정할 수 있는 최대 높이를 구하는 것이 목표다.이유 및 참고'적어도 M미터의 나무'를 가져가야 한다고 했으므로 딱 M만큼 필요한 것이 아니라 M보다 크거나 같으면 된다.
문제 바로가기버블정렬을 이용하였지만 살짝 다른 방식으로 풀었다.서로 인접한 두 원소를 비교한 후, 교환할때마다 물러서는 횟수를 카운트해주었다.7 4 5 1 3인덱스1과 앞의 원소들간의 비교를 시작한다. 1이 0보다 크므로 교환4 7 5 1 3인덱스2 (숫자5) 와 앞의
문제 바로가기이 문제의 목표는 K 나라의 등수를 구하는 것이다."k나라의 등수 = k나라보다 잘하는 나라의 수 + 1" 로 정의된다.따라서 k나라보다 잘했을 경우를 카운팅해주면 된다.k나라를 제외한 나라의 메달수를 medals에 저장해두었다.→ k나라보다 금메달 수가
문제 바로가기"덩치 등수 = 자신보다 더 큰 덩치 사람 수 + 1" 이므로 입력된 각 정보에 대하여 자신보다 더 큰 덩치를 가진 사람 수를 계산하면 된다.get_ranking(target)함수는 매개변수로 키와 몸무게를 담은 튜플 target이 주어진다. ex) tar
문제 설명경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니다. 그런데 수확한 귤의 크기가 일정하지 않아 보기에 좋지 않다고 생각한 경화는 귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화하고 싶습니다.예
문제 바로가기키패드 번호의 좌표를 딕셔너리로 담았다.키패드 1, 4, 7을 누른 경우 🟰 (x,y) y좌표가 0인 경우 키패드 3, 6, 9을 누른 경우 🟰 (x,y) y좌표가 2인 경우키패드 2, 5, 8, 0을 누른 경우 🟰 (x,y) y좌표가 1인 경우'오른
문제 바로가기1번집부터 N번집까지 총 N개의 집이 있다.장마가 시작되면 M일동안 비가 온다.장마가 시작된지 i일째 되는 날에는 s번 집부터 e번 집위치까지 비가 오며 물의 높이가 +1 만큼 증가한다.배수시스템은 장마가 시작된지 3의 배수가 되는 날마다 2일이내에 비가
문제 바로가기➡️ 두 개의 수식을 입력받아, 두 수식의 계산 결과 중 더 큰 값을 출력한다.eval()함수를 사용하면 간단하게 구현이 가능하지만... 난 몰라서 직접 구현했다.우선 입력받은 문자열(수식)str을 정수와 연산자로 분리된 리스트formula로 바꿔준다. e
문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요.1 ≤ my_string의 길이 ≤ 1,000my_string은 소문자, 대문자 그리고 한자리 자연수로만 구성되어있습니다.
최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다.0 < array의 길이 < 1000
문제 > 문제 바로가기 t초동안 붕대를 감음. 1초마다 x만큼 체력 회복 t초 연속 성공하면 추가로 y체력 회복 (최대 체력 존재) 공격당하는 순간에는 회복할 수 없음. 공격당하면 연속 성공 시간이 0초로 초기화됨. 끝나는 즉시 붕대감기 다시 시작. 정해진 피해량만
문제 >문제 바로가기 정리 다음 달에 누가 선물을 많이 받을지 예측 선물 지수 : 이번 달까지 자신이 친구들에게 준 선물의 수 - 받은 선물의 수 선물 주고 받은 기록이 있는 경우 : 더 많은 선물을 준 사람 +1 주고받은 수가 같거나 기록이 없는 경우 : 선
문제 바로가기유저 - 한번에 1유저 신고 가능 동일유저 여러번 신고해도 신고횟수는 1회로 처리됨.k번 이상 신고된 유저 - 정지이 유저를 신고한 모든 유저에게 메일로 정지사실 알림.리턴값 : 각 유저별로 처리 결과 메일을 받은 횟수를 담은 배열신고 처리 k번 이상 신고
문제 바로가기시작 위치 찾기routes를 돌며 이동 명령 수행한칸씩 이동하며 좌표가 범위내에 있는지, 이동과정중에 장애물이 없는지 확인하기위의 조건에 맞지 않으면 해당명령은 취소처리하고 다음 명령으로 넘어간다. 이동방향에 맞는 좌표값의 변화를 딕셔너리에 담았다. 예를들
문제 바로가기구해야 하는 것 : 오늘 날짜로 파기해야 할 개인정보 번호들예를 들어, A라는 약관의 유효기간이 12 달이고, 2021년 1월 5일에 수집된 개인정보가 A약관으로 수집되었다면 해당 개인정보는 2022년 1월 4일까지 보관 가능하며 2022년 1월 5일부터
문제 바로가기시간초과로 실패하였다. 이유를 모르겠어서 질문게시판을 통해 힌트를 얻었다.이때 n은 리스트의 길이이다. 이 메서드는 리스트의 첫 번째 요소부터 시작하여 원하는 값을 찾을 때까지 순차적으로 비교하기 때문에, 최악의 경우 리스트의 모든 요소를 확인해야 한다.따
시작점: S(sx, sy)끝점: E(ex, ey)리턴값 : \[sx, sy, ex, ey]sx : 가장 위쪽에 있는 파일의 행 (행의 가장 작은 값)sy : 가장 왼쪽에 있는 파일의 열 (열의 가장 작은 값)ex : 가장 아래쪽에 있는 파일의 행 (행의 가장 큰 값)e
✅ 문제 >문제 바로가기 소문자로 바꾸기 허용되지 않는 문자 제거하기 연속 마침표(...) -> 한개로(.) 만들기 처음 또는 끝에 위치한 마침표 제거하기 빈 문자열이면 'a'대입 길이 16이상이면 15개까지만, 그 이상은 제거 마침표가 끝에 위치하면 제거 길이가
문제 바로가기딕셔너리로 표현, 0으로 초기화해두기딕셔너리로 표현형식 : 선택지번호 : \[동의여부, 점수] 동의 여부는 0 또는 1로 나타낸다. (0은 비동의, 1은 동의)예를들어, 1번 선택지의 경우 '매우 비동의'로 점수는 3점이며 비동의를 나타내므로 0, 34번
문제 바로가기먼저 첫 글자를 읽습니다. 이 글자를 x라고 합시다.이제 이 문자열을 왼쪽에서 오른쪽으로 읽어나가면서, x와 x가 아닌 다른 글자들이 나온 횟수를 각각 셉니다. 처음으로 두 횟수가 같아지는 순간 멈추고, 지금까지 읽은 문자열을 분리합니다.문자열의 남은 부분
문제 바로가기구해야 하는 것 : 각 문자열을 작성하기 위해 키를 최소 몇 번씩 눌러야 하는지를 순서대로 담은 배열 따라서, 각 알파벳을 입력할때 최소로 눌러야 하는 횟수를 알아야 한다.알파벳마다 최소 입력 횟수를 계산하여 딕셔너리 변수 dic에 저장한다.target 문
문제 바로가기완주하지 못한 선수가 Participant 배열의 마지막 index에 있는 경우 따로 처리가 필요함에 주의.딕셔너리는 -가 불가능하지만 Counter객체는 -연산이 가능하다. 파이썬의 내장 함수 hash()는 객체의 해시 값을 반환하는 함수이다. hash(
문제 바로가기weights를 오름차순으로 정렬weights의 모든 조합 (a, b)에 대하여 요소 a, b가 1:1, 1:2, 2:3, 3:4의 비율을 갖는지 확인, 맞으면 cnt 증가시킴ex) weights = 100, 100, 180, 270, 360(100, 10
문제 바로가기
✅ 문제 > 문제 바로가기 ✅ 나의 풀이 풀이 과정 카드뭉치에서 순서대로 한 장씩 사용하므로 큐를 떠올렸다. 두 개의 카드뭉치에서 가장 앞에 있는 단어를 꺼내 goal의 단어와 같은지 순서대로 확인한다. [실수] 첫번째 시도: IndexError 에러 원인 c
문제 바로가기전처리 : dartResult의 10을 @로 변환 (후에 다시 @을 10으로 변환)dartResult의 문자를 하나씩 탐색하며 결과값을 계산한다.3번의 다트게임 결과는 리스트 result에 순서대로 저장한다.리턴값 : result의 합
문제 바로가기최고 순위일때 맞춘 문제의 개수 = 0의 개수 + 같은번호의 개수최저 순위일때 맞춘 문제의 개수 = 같은번호의 개수lottos와 win_nums에는 중복된 번호가 존재하지 않으므로 이 경우는 생각하지 않아도 된다. : lottos를 오름차순으로 정렬한 뒤,
✅ 문제 > 문제 바로가기 ✅ 나의 풀이 > 실패율 = $\frac{\text{스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수}}{\text{스테이지에 도달한 플레이어 수}}$ 실패율 = \(\frac{b}{a}\)
문제 바로가기조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음만 가능하다. 좀 더 쉽게 유효성 검사를 하기 위해 옹알이를 문자열 숫자로 바꿔주었다.1) 네 가지 발음과 이것을 조합한 발음2) 단, 반복되는 발음이어서는 안됨. ("yeye"는 불가능
문제 바로가기{차량번호 : \[시각배열] 형식으로 딕셔너리를 생성한다.시각은 오름차순으로 정렬되어있다. 차량 번호가 작은 자동차부터 청구할 주차 요금을 차례대로 정수 배열에 담아서 return해야한다.따라서, 차량번호가 작은 자동차부터 주차시간과 요금을 계산하고 순서대
문제바로가기입력값이 아래와 같다고 가정한다. 1\. 리스트 만들기문자열을 두 글자씩 끊어서 다중집합의 원소로 만든다.2\. 교집합 크기 구하기집합끼리 &연산을 해서 교집합을 구할 수 있지만, 문제에서 자카드 유사도는 원소의 중복도 허용할 수 있어야 하므로 이 방법은 옳