2805 나무 자르기원래 이진 탐색의 개념은 정렬된 배열 또는 트리에서 인덱스 범위를 좁혀가며 값을 찾는 거지만, 여기서는 나무의 길이 자체를 인덱스로 활용하여 인덱스가 곧 답이 되는 방식으로 풀었다.1\. 0부터 나무의 최대 길이까지를 이진 탐색의 범위로 설정한다.(
링크텍스트2805 나무 자르기 문제와 동일하게 랜선의 길이를 범위로 해서 이진탐색으로 풀이했다.1\. 0부터 랜선의 최대 길이까지를 이진 탐색의 범위로 설정한다.(start = 0, end = max(line))2\. mid = (start + end) // 2 의 길
📋코드
📋코드
구글링했습니다..X시간동안 한번 심사에 5초 걸리는 심사관이 검사할 수 있는 사람 수는 X/5명이다.해당 방법을 기억하고, 각각의 심사관들이 X시간동안 검사할 수 있는 사람의 합이 전체 명수보다 크거나 같으면, 현재 가장 작은 시간과 비교하여, 작은 것을 result에
2512 예산책에서 본 떡볶이 떡 만들기 문제랑 비슷한 것 같다백준에서는 2805 나무 자르기, 1654 랜선 자르기 문제와 유사함!정민언니가 알려준 방법으로 알고리즘을 생각해봤어요구해야 하는 것 : 정해진 총액 이하에서 줄 수 있는 가능한 한 최대의 예산 (한 부서
1072 게임구해야 하는 것 : 몇 번의 게임을 더 해야 승률이 오르는지 (지는 경우는 없기 때문에 승률이 변하는 경우는 오르는 경우밖에 없다.)1번을 구하는데 필요한 기준 : 승률형택이는 게임에서 지지 않으므로 이미 승률이 100인 경우에는 절대 변하지 않는다.\->
2343 기타 레슨처음에 문제 읽고 이게 뭔소리야... 함힌트 유심히 읽어보고 이해했다구해야 하는 것 : 강의를 다 녹화할 수 있는 블루레이의 최소 크기(start = 0, end = 강의 길이 총합)1번을 구하는데 필요한 기준 : 블루레이 크기에 따라 강의를 '순서대
2776 암기왕책에 있는 부품 찾기 문제랑 비슷하다전통적인 이진탐색 개념대로 입력받은 수를 정렬하고 찾으면 된다여기서는 수첩 2에 적혀있는 숫자의 순서를 지키면서 수첩 1에 있는지 확인하면 되니까 수첩1 숫자들만 정렬하고 풀었다
6236 용돈 관리첨에 문제 읽고 이게 뭔소리야... 싶었는데그냥 2343 기타 레슨 문제랑 비슷한 문제인 것 같다돈이 모자라면 다시넣고 어쩌구 더 남더라도 M번을 맞추기 위해 어쩌구기타 레슨 문제로 생각하면 걍 강의를 순서대로 녹화해야 하고 (날짜 순서대로 돈을 씀)
1922 네트워크 연결가중치가 있는 그래프 + 최소비용을 구하는 문제\-> 최소 신장 트리 구하기\-> 크루스칼 알고리즘풀이는 책에 있는 예제코드를 참고했습니다...
9372 상근이의 여행책에 있는 그래프 풀이 예제가 서로소, 최소 신장 트리, 위상 정렬 이렇게인데 첨에 이거 어떻게 풀어야할지 잠깐 헷갈렸다...비용이 없는 문제라 서로소로 풀어야 하나? 했는데 비용이 1인 간선으로 생각하고 최소 신장 트리를 찾으면 되는 문제였다
1197 최소 스패닝 트리말 그대로 최소 스패닝 트리 (최소 신장 트리)를 구하면 된다그래서 1922 네트워크 연결 문제랑 똑같이 풀었다
11399 ATM 기다리는 시간이 최소가 되게 하려면 시간이 가장 짧은 사람이 먼저 줄을 서게 하면 된다.Pi를 입력받고 sort()한 순서대로 시간을 더해주면 된다.단, 인덱스 0부터 i까지
11047 동전 0입력 조건에서 동전의 가치 Ai에 대해 A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수라고 했으므로, 가장 큰 가치의 동전에서부터 개수를 계산하면 최적의 해를 보장할 수 있다.예를 들어, 동전의 가치(화폐 단위)가 500원, 400원, 100
4796 캠핑책에 있는 '큰 수의 법칙' 문제와 비슷해서 참고해서 풀었다예를 들어, 캠핑장을 연속하는 8일 중 5일동안만 사용할 수 있다는 말은 5일 사용하고 난 뒤 3일은 사용하지 못한다는 말이다.따라서 L=5, P=8, V=20이면 8일을 주기로 5일동안 사용하고,
https://www.acmicpc.net/problem/14390이 연속하는 구간, 1이 연속하는 구간의 개수 중 더 작은 값만큼 뒤집으면 정답이다.연속하는 구간을 찾기 위해서 문자열 s의 길이만큼 반복해 0에서 1로 변하는 구간 또는 1에서 0으로 변하는
https://www.acmicpc.net/problem/1080일단 문제를 보고 나서 간단하게 이중반복을 사용해서 A의 원소와 B의 원소가 다르면 3x3만큼 뒤집는 방법으로 풀고 나서 나오는 답을 보고 방법을 수정해 나갈 생각이었는데, 그냥 이 방법 그대로
1339 단어 수학문제 읽고 처음 생각한 풀이 방법1\. 가장 많이 나온 알파벳2\. 가장 큰 자릿수에 있는 알파벳부터 순서대로 9부터 배정한다.근데 이걸 어떻게 카운트하지...1\. 가장 긴 문자열을 찾는다.2\. 그 문자열의 첫 번째 알파벳을 9로 만든다.이렇게 생
https://www.acmicpc.net/problem/1715처음에는 작은 수부터 계속 더해가면 된다고 생각했는데, 누적합이 아니라 최소합을 구하는거니까 더하는 횟수를 줄여야한다...그래서 작은 수부터 두 개씩 짝지어서 더하고 더한 값끼리 또 더해야된다여기
https://www.acmicpc.net/problem/1744일단 1보다 큰 수가 있으면 곱하고, 1보다 같거나 작으면 더하는게 최댓값이 될 거라고 생각했다.근데 1보다 같거나 작아도 0과 음수가 있으면 이 둘을 곱해서 0으로 만들어줘야 최댓값이 나왔다그러
https://www.acmicpc.net/problem/2751파이썬에는 정렬 라이브러리가 있으니 그걸 사용했다..간단하게 성공하지만 파이썬 언어 자체가 느려서 python3로는 시간 초과가 떴고, pypy3으로 통과했다.
https://www.acmicpc.net/problem/1427배열을 정렬하는 것은 쉽다.띄어쓰기 없이 숫자를 입력받아서 sys로 입력받았다.내림차순이니 sort 라이브러리에 reverse=True 옵션 주고 출력하면 끝!
https://www.acmicpc.net/problem/1764처음에는 간단하게 듣도 못한 사람을 입력받고, 보도 못한 사람을 입력받을 때 입력받은 사람의 이름이 듣도 못한 사람의 배열에 있는지 확인하는 코드를 짰는데 python3와 pypy3 모두 시간초과
간단하게 입력받아서 sort한 다음 k번째 수(배열에서는 k-1번 인덱스의 수)를 출력해줬다!시간도 엄청 오래 걸리고 메모리도 크게 잡아먹는 걸 믿을 수가 없어서 인터넷 연결 문제인가..? 하고 다시 제출했는데 똑같았다.파이썬의 느린 특성에 N의 범위가 5백만이나 돼서
https://www.acmicpc.net/problem/5052 전화번호를 정렬하는데 비슷한 번호, 같은 수로 시작하는 번호끼리 붙어있어야 하니까 문자열로 정렬한다는 것까진 생각했다
https://www.acmicpc.net/problem/2470 투포인터로 하나는 왼쪽에서(가장 작은 수부터) 하나는 오른쪽에서(가장 큰 수부터) 탐색하면서 더해주고, 가장 0에 가까운 값을 저장해주면 된다
https://www.acmicpc.net/problem/1202처음엔 보석을 가치가 큰 것부터 정렬하고, 배낭도 오름차순이든 내림차순이든 정렬해서(어차피 가방에 보석 한 개만 들어가니까) 가방 무게와 보석 무게를 비교해주면 보석 가치가 큰 순서대로 넣을 수
https://www.acmicpc.net/problem/9663이거 분명히 전에 풀었었는데 기억 안나죠?복습은 정말 중요하다....심지어 이게 어떤 유형인지 알아내는것도 힘들었다좌표 하나하나 찍다가 그냥 구글링했다,,,ㅎㅎN-Queen은 백트래킹의 대표적인
시간이 없어서.......안 풀었던 문제부터 풀겠습니다죄송합니다ㅜhttps://www.acmicpc.net/problem/11404최단 경로 문제처음에 출력결과 보고 이게 뭔소리야... 했는데 좀만 더 생각해보니 최단거리 nxn 표를 만들라는 거였다모든 경우의
18352 특정 거리의 도시 찾기 📌문제 링크 https://www.acmicpc.net/problem/18352 💡 문제 풀이 한 도시에서 다른 도시들로 가는 최단거리를 구하는 거니까 다익스트라 알고리즘을 사용하면 되겠다고 생각했다 ....... 근데 이번 주
https://www.acmicpc.net/problem/18428벽을 세 개 세우고 검사한다는 거 보고 14502 연구소 문제랑 비슷하게 풀면 되겠다고 생각했다!근데 연구소 문제는 바이러스를 퍼뜨리는 과정에서 bfs/dfs를 사용했는데, 여기서는 행과 열의
https://www.acmicpc.net/problem/10825(책 코드를 참고했습니다)파이썬의 sort(key)를 사용해서 풀 수 있는 문제다.sort(key)는 아이템의 순서대로 우선순위를 부여해 정렬하며, -를 붙이면 내림차순으로 정렬한다.위 코드는
https://www.acmicpc.net/problem/3190뱀 몸이 늘어났다 줄었다 움직였다 어쨌다 하는 과정을 그려도 이해하기 어려워서... 책을 참고했습니다늘어나는 과정도 1초에 포함되는 줄 알았는데 아니었네요..지도에 아무것도 없는 곳은 0, 사과가
문제를 읽는데....도저히 무슨 말인지 모르겠어서 다음 문제부터 풀려고 넘김그렇게 넘기다 보니 세 문제를 다 넘기게 됨🙄......그래서 이번 주 풀이는 모두 책을 참고했습니다..https://programmers.co.kr/learn/courses/30/l
https://www.acmicpc.net/problem/21608먼저 like 배열을 선언해서 학생 번호에 해당하는 인덱스에 좋아하는 학생의 번호 배열을 저장했다. 이래야 좋아하는 학생 수를 카운트할 때 찾기 편할 것 같아서..ex) 학생의 번호 : 4좋아하
1914 하노이 탑 📌문제 링크 https://www.acmicpc.net/problem/1914 💡 문제 풀이 재귀함수로 풀었다. 하노이 탑에 n개의 블록이 있고 탑을 1번에서 3번으로 옮겨야 할 때, 맨 아래에 있는 가장 큰 블록을 제외한 나머지 블록들을 2번
11729 하노이 탑 이동 순서 📌문제 링크 https://www.acmicpc.net/problem/11729 💡 문제 풀이 1914 하노이 탑 문제와 거의 비슷하다고 생각해서 20 이상일 때 조건문만 없애주고 제출했는데 시간초과가 났다. 1914는 시간 제한이
1931 회의실 배정 📌문제 링크 https://www.acmicpc.net/problem/1931 💡 문제 풀이 📋코드 ⏱ 시간 복잡도 입력 : O(N) 정렬 : O(NlogN) (퀵 정렬) 2108 통계학 📌문제 링크 https://www.acmic
2504 괄호의 값 📌문제 링크 https://www.acmicpc.net/problem/2504 💡 문제 풀이 먼저 올바른 괄호열을 체크하는 알고리즘을 구현했다. > 1. 문자열 길이만큼 반복을 수행한다. 현재 문자열이 여는 괄호라면 stack push한다.
2178 미로 탐색 📌문제 링크 https://www.acmicpc.net/problem/2178 💡 문제 풀이 📋코드 ⏱ 시간 복잡도 2606 바이러스 📌문제 링크 https://www.acmicpc.net/problem/2606 💡 문제 풀이
https://www.acmicpc.net/problem/14502모든 경우의 수를 탐색해야 하므로, 빈 칸 중에서 3개를 조합으로 뽑아 벽을 세운 뒤 안전 영역의 크기를 구한다.https://www.acmicpc.net/problem/2206
16637 괄호 추가하기 📌문제 링크 https://www.acmicpc.net/problem/16637 문제 길이가 N인 수식이 있다. 수식은 0보다 크거나 같고, 9보다 작거나 같은 정수와 연산자(+, -, ×)로 이루어져 있다. 연산자 우선순위는 모두 동일하
https://www.acmicpc.net/problem/1003https://www.acmicpc.net/problem/10844이 블로그를 참고했습니다..https://code-lab1.tistory.com/108https://w
https://www.acmicpc.net/problem/1715카드 개수가 적은 것부터 합치면 비교 횟수를 최소로 할 수 있다.https://www.acmicpc.net/problem/2141마을을 위치 순으로 정렬한 다음 인구 수가 절반을 넘어가는
https://www.acmicpc.net/problem/19236메모리 : 14252KB, 시간 : 128mshttps://www.acmicpc.net/problem/20055메모리 : 14384KB, 시간 : 244ms처음에 회전을 쉽게 구현하기
https://www.acmicpc.net/problem/1916수업시간에 배운 다익스트라 코드 적용해서 풀었습니다!!https://www.acmicpc.net/problem/1238https://www.acmicpc.net/problem/1
16398 행성 연결 📌문제 링크 https://www.acmicpc.net/problem/16398 📋코드 ⏱ 시간 복잡도 > 메모리 : 149352KB, 시간 : 1240ms 1922 네트워크 연결 📌문제 링크 https://www.acmicpc.ne
https://www.acmicpc.net/problem/15683카메라마다 바라볼 수 있는 모든 경우의 수를 계산해 dfs로 풀었다.처음에는 메모리 좀 아껴보겠다고 감시 방향을 map에 -1로 표시했다가 다시 0으로 초기화하는 방법을 썼는데, 다른 카메라가