<나의 풀이>문제에서 변수는 n,k 라고 지정했었다 - 문제를 잘 읽자n, k = map(int, input().split())
map : 아직도 내겐 너무 낯선 함수.. : 개념 무한 반복.. 두개 값 입력할 때(a, b) 바로 두개의 변수 넣어주기 가능 : a, b = map(int, input().slice())
내가 생각을 아직 머리만으로는 정리를 잘 못하구나를 뼈저리게 느끼게 해준 문제.. 손으로 결국에 써보고 나서야 생각을 할 수 있었다.. 못하는 만큼 더 노력하고 더 투자하고 더 앉아서 공부하자 ㅠㅠ..알고리즘 처음 차인 나에게는 너무 낯설구 어렵다 그렇지만 할 수 있다
소수 둘째 자리에서 반올림 해라=> 소수 첫째 자리까지 나오게 해라round(a,1)소수 첫째자리에서 반올림 해라=> 소수 0째 자리까지 나오게 해라round(a,0)=> 근데 이거 3.0, 4,0 이런식으로 나온다 이것 없애려면 정수처리 해주면 된다절댓값화 해주기ab
set=(\[])중복을 허용하지 않아서 중복 없애야 할 때 쓰면 좋다짜긴 짰는데.. 엄청 복잡하고 돌리게 되면 시간 왕 오래 걸릴거 같은 느낌이랄까..
str로 숫자를 변환하면 for로 따로 따로 뗴놓을 수 있다각 자릿수의 합을 한줄짜리 for문을 이용해서 간편하게 구하는 방법def digit_sum(n): return sum(int(i) for i in str(n))
7. 소수(에라토스테네스 체) 자연수 N이 입력되면 1부터 N까지의 소수의 개수를 출력하는 프로그램을 작성하세요. 만약 20이 입력되면 1부터 20까지의 소수는 2, 3, 5, 7, 11, 13, 17, 19로 총 8개입니다. 제한시간은 1초입니다. ▣ 입력설명 첫
s=s[::-1] : string에서 reverse 하는 것 > 내 풀이의 치명적인 실수..! : 1은 소수에 포함이 안되니 IsPrime함수에서 받을 때 if x==1 : return False 했어야한다...! 내 풀이로 가면 100 넣었을 때 1 되는데도 Tru
=> 답은 나오지만 사실 print(aa) 하면 무슨 거의 모든 경우의 수 나오듯이 우수수 쏟아져서 나온당...ㅋㅋ 그래서 더 생각해보자=> 처음 코드에서 저 조건 중 히나라도 만족하면 그때 가격이 정해지므로 멈췄어야 하는데 그냥 계속 돌렸더니 처음 케이스(3,3,6
섹션2를 마치며... 어째저째 섹션2를 마치긴 했다. 다른 분들은 쉬워보이겠지만, 나에게는 헤헤..ㅠㅠ 꽤나 어려웠다..어렵기보다 낯설다..?아직 내 실력이 얼마나 부족한지 ㅠㅠ 새삼 느끼게 되었다아. 얼른 익숙해지고 싶다. 근데 속도가 너무 더디다..!이번주 안에 섹
string에서 배열을 거꾸로 하는 것이 회문열 검사 문제에서는 대소문자구분하지 않는다는 조건 있으면 대문자, 소문자를 통일해야 하므로 문자열 입력받고 upper() / lower() 해주어야 한다<내가 짠 코드>
알파벳이 아닌 숫자들은 다 찾아주는 것막 2\*\*2 이런것도 다 숫자로 인식하고 찾아줌0~9까지 찾아주는 것딱 0 1 2 3 4 5 6 .. 9 이런 형태로 되어있는 것만 찾아준다res=0res=res\*10+int(x)<내가 짠 코드>흠 되긴 되는데 너무 길어
: a, b=map(int,input().split())a, b = b, aprint(a, b)=>만약 a, b에 5 10 넣어주면 출력된 결과는 10, 5여기서 활용된 부분은 인덱스 5,10을 반대인덱스로 나오게 하는거니깐5-10 =>10-56-9 => 9-67-8
(개념 보완 from : 링크텍스트:사전은(set) hashable한 키만 받는다 - 키가 불변인 것만..키가 리스트처럼 변경 가능하면 나쁜 상황이 발생, tuple을 사용하면 된다! =>근데 사실 얘는 이번 문제에서 쓰일 일이 없었다 ㅋㅋ<나의 코드>=> 이런식
- python 반복문 탈출 출처 : 링크텍스트 (1) break -while의 무한루프에서 숫자를 증가시키다가 변수i가 일정이 되면 반복문을 끝낼 수 있다 -for의 무한루프에서도 반복문을 끝낼 수 있다 (2) continue -while 에서 코드 실행 건너뛰
(1) +(2) extend(ex)5 (=> nn, 즉 여기선 55)10 13 10 12 1512 39 30 23 1111 25 50 53 1519 27 29 37 2719 13 30 13 19이렇게 되어있는 애를 한번에 읽는 방법a=list(map(int, input
사과나무(다이아몬드) 현수의 농장은 N*N 격자판으로 이루어져 있으며, 각 격자안에는 한 그루의 사과나무가 심어저 있다. N의 크기는 항상 홀수이다. 가을이 되어 사과를 수확해야 하는데 현수는 격자판안의 사 과를 수확할 때 다이아몬드 모양의 격자판만 수확하고 나머지 격
18. 곶감(모래시계) 현수는 곳감을 만들기 위해 감을 깍아 마당에 말리고 있습니다. 현수의 마당은 N*N 격자판으 로 이루어져 있으며, 현수는 각 격자단위로 말리는 감의 수를 정합니다. 그런데 해의 위치에 따라 특정위치의 감은 잘 마르지 않습니다. 그래서 현수는 격자
지도 정보가 N\*N 격자판에 주어집니다. 각 격자에는 그 지역의 높이가 쓰여있습니다. 각 격자판의 숫자 중 자신의 상하좌우 숫자보다 큰 숫자는 봉우리 지역입니다. 봉우리 지역이 몇 개있는 지 알아내는 프로그램을 작성하세요.격자의 가장자리는 0으로 초기화 되었다고 가정
스도쿠는 매우 간단한 숫자 퍼즐이다. 9×9 크기의 보드가 있을 때, 각 행과 각 열, 그리고 9개의 3×3 크기의 보드에 1부터 9까지의 숫자가 중복 없이 나타나도록 보드를 채우면 된다.예를 들어 다음을 보자.1 4 3 6 2 8 5 7 95 7 2 1 3 9 4 6
21.격자판 회문수 1부터 9까지의 자연수로 채워진 7*7 격자판이 주어지면 격자판 위에서 가로방향 또는 세로방향으로 길이 5자리 회문수가 몇 개 있는지 구하는 프로그램을 작성하세요. 회문수란 121과 같이 앞에서부터 읽으나 뒤에서부터 읽으나 같은 수를 말합니다.
22. 이분검색 임의의 N개의 숫자가 입력으로 주어집니다. N개의 수를 오름차순으로 정렬한 다음 N개의 수 중 한 개의 수인 M이 주어지면 이분검색으로 M이 정렬된 상태에서 몇 번째에 있는지 구하는 프로그램을 작성하세요. 단 중복값은 존재하지 않습니다. ▣ 입력설명 첫
23.랜선자르기(결정알고리즘) 엘리트 학원은 자체적으로 K개의 랜선을 가지고 있다. 그러나 K개의 랜선은 길이가 제각각이 다. 선생님은 랜선을 모두 N개의 같은 길이의 랜선으로 만들고 싶었기 때문에 K개의 랜선을 잘라서 만들어야 한다. 예를 들어 300cm 짜리 랜선에
25.뮤직비디오(결정알고리즘) 지니레코드에서는 불세출의 가수 조영필의 라이브 동영상을 DVD로 만들어 판매하려 한다. DVD에는 총 N개의 곡이 들어가는데, DVD에 녹화할 때에는 라이브에서의 순서가 그대로 유지 되어야 한다. 순서가 바뀌는 것을 우리의 가수 조영필씨가
N개의 마구간이 수직선상에 있습니다. 각 마구간은 x1, x2, x3, ......, xN의 좌표를 가지며, 마구간간에 좌표가 중복되는 일은 없습니다.현수는 C마리의 말을 가지고 있는데, 이 말들은 서로 가까이 있는 것을 좋아하지 않습니다.각 마구간에는 한 마리의 말만
한 개의 회의실이 있는데 이를 사용하고자 하는 n개의 회의들에 대하여 회의실 사용표를 만들려고 한다. 각 회의에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 최대수의 회의를 찾아라. 단, 회의는 한번 시작하면 중간
현수는 씨름 감독입니다. 현수는 씨름 선수를 선발공고를 냈고, N명의 지원자가 지원을 했습니다. 현수는 각 지원자의 키와 몸무게 정보를 알고 있습니다.현수는 씨름 선수 선발 원칙을 다음과 같이 정했습니다.“다른 모든 지원자와 일대일 비교하여 키와 몸무게 중 적어도 하나
창고에 상자가 가로방향으로 일렬로 쌓여 있습니다.만약 가로의 길이가 7이라면1열은 높이가 6으로 6개의 상자가 쌓여 있고, 2열은 3개의 상자, 3열은 9개의 상자가 쌓여 있으며 높이는 9라고 읽는다.창고 높이 조정은 가장 높은 곳에 상자를 가장 낮은 곳으로 이동하는
29. 침몰하는 타이타닉(그리디) 유럽에서 가장 유명했던 유람선 타이타닉이 침몰하고 있습니다. 유람선에는 N명의 승객이 타고 있습니다. 구명보트를 타고 탈출해야 하는데 타이타닉에 있는 구명보트는 2명 이하로만 탈 수 있 으며, 보트 한 개에 탈 수 있는 총 무게도 M
30. 증가수열 만들기(그리디) 1부터 N까지의 모든 자연수로 구성된 길이 N의 수열이 주어집니다. 이 수열의 왼쪽 맨 끝 숫자 또는 오른쪽 맨 끝 숫자 중 하나를 가져와 나열하여 가장 긴 증가수열 을 만듭니다. 이때 수열에서 가져온 숫자(왼쪽 맨 끝 또는 오른쪽 맨
31. 역수열(그리디) 1부터 n까지의 수를 한 번씩만 사용하여 이루어진 수열이 있을 때, 1부터 n까지 각각의 수 앞 에 놓여 있는 자신보다 큰 수들의 개수를 수열로 표현한 것을 역수열이라 한다. 예를 들어 다음과 같은 수열의 경우 4 8 6 2 5 1 3 7 1앞
32. 가장 큰 수 선생님은 현수에게 숫자 하나를 주고, 해당 숫자의 자릿수들 중 m개의 숫자를 제거하 여 가장 큰 수를 만들라고 했습니다. 여러분이 현수를 도와주세요.(단 숫자의 순서는 유지해야 합니다) 만약 5276823 이 주어지고 3개의 자릿수를 제거한다면 78
33. 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에 서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레 이저의 배치는 다음 조건을 만족한다. • 쇠막대기는 자신보다 긴 쇠막대기
34. 후위표기식 만들기 중위표기식이 입력되면 후위표기식으로 변환하는 프로그램을 작성하세요. 중위표기식은 우리가 흔히 쓰은 표현식입니다. 즉 3+5 와 같이 연산자가 피연산자 사이에 있으면 중위표기식입니다. 후위표기식은 35+ 와 같이 연산자가 피연산자 뒤에 있는 표기
35. 후위식 연산 후위연산식이 주어지면 연산한 결과를 출력하는 프로그램을 작성하세요. 만약 3(5+2)-9 을 후위연산식으로 표현하면 352+9- 로 표현되며 그 결과는 21입니다. ▣ 입력설명 첫 줄에 후위연산식이 주어집니다. 연산식의 길이는 50을 넘지 않습니다.
공주 구하기(큐 자료구조로 해결) 정보 왕국의 이웃 나라 외동딸 공주가 숲속의 괴물에게 잡혀갔습니다. 정보 왕국에는 왕자가 N명이 있는데 서로 공주를 구하러 가겠다고 합니다. 정보왕국의 왕은 다음과 같은 방법으로 공주를 구하러 갈 왕자를 결정하기로 했습니다. 왕은 왕자
37. 응급실 메디컬 병원 응급실에는 의사가 한 명밖에 없습니다. 응급실은 환자가 도착한 순서대로 진료를 합니다. 하지만 위험도가 높은 환자는 빨리 응급조 치를 의사가 해야 합니다. 이런 문제를 보완하기 위해 응급실은 다음과 같은 방법으로 환자의 진료순서를 정합니다.
38. 교육과정 설계 현수는 1년 과정의 수업계획을 짜야 합니다. 수업중에는 필수과목이 있습니다. 이 필수과목은 반드시 이수해야 하며, 그 순서도 정해져 있 습니다. 만약 총 과목이 A, B, C, D, E, F, G가 있고, 여기서 필수과목이 CBA로 주어지면 필수과
현수는 영어로 시는 쓰는 것을 좋아합니다.현수는 시를 쓰기 전에 시에 쓰일 단어를 미리 노트에 적어둡니다.이번에는 N개의 단어를 노트에 적었는데 시에 쓰지 않은 단어가 하나 있다고 합니다.여러분이 찾아 주세요.▣ 입력설명첫 번째 줄에 자연수 N(3<=N<=1
40. Anagram(아나그램 : 구글 인터뷰 문제) Anagram이란 두 문자열이 알파벳의 나열 순서를 다르지만 그 구성이 일치하면 두 단어는 아 나그램이라고 합니다. 예를 들면 AbaAeCe 와 baeeACA 는 알파벳을 나열 순서는 다르지만 그 구성을 살펴보면 A
41. 최소힙 최소힙은 완전이진트리로 구현된 자료구조입니다. 그 구성은 부모 노드값이 왼쪽자식과 오른 쪽 자식노드의 값보다 작게 트리를 구성하는 것입니다. 그렇게 하면 트리의 루트(root)노드는 입력된 값들 중 가장 작은 값이 저장되어 있습니다. 예를 들어 5 3 2
42. 최대힙 최대힙은 완전이진트리로 구현된 자료구조입니다. 그 구성은 부모 노드값이 왼쪽자식과 오른 쪽 자식노드의 값보다 크게 트리를 구성하는 것입니다. 그렇게 하면 트리의 루트(root)노드는 입력된 값들 중 가장 큰 값이 저장되어 있습니다. 예를 들어 5 3 2
10진수 N이 입력되면 2진수로 변환하여 출력하는 프로그램을 작성하세요. 단 재귀함수를 이용해서 출력해야 합니다.▣ 입력설명첫 번째 줄에 10진수 N(1<=N<=1,000)이 주어집니다.▣ 출력설명첫 번째 줄에 이진수를 출력하세요.▣ 입력예제 111▣ 출력예
44. 부분집합 구하기(DFS) 자연수 N이 주어지면 1부터 N까지의 원소를 갖는 집합의 부분집합을 모두 출력하는 프로그램 을 작성하세요. ▣ 입력설명 첫 번째 줄에 자연수 N(1 우선 이전에 했던 자기 본연의 임무를 먼저 수행하고, 왼 & 오른쪽 출력해주는 애를 쓰면
45. 합이 같은 부분집합(DFS : 아마존 인터뷰) N개의 원소로 구성된 자연수 집합이 주어지면, 이 집합을 두 개의 부분집합으로 나누었을 때 두 부분집합의 원소의 합이 서로 같은 경우가 존재하면 “YES"를 출력하고, 그렇지 않으면 ”NO"를 출력하는 프로그램을 작
46. 바둑이 승차(DFS) 철수는 그의 바둑이들을 데리고 시장에 가려고 한다. 그런데 그의 트럭은 C킬로그램 넘게 태 울수가 없다. 철수는 C를 넘지 않으면서 그의 바둑이들을 가장 무겁게 태우고 싶다. N마리의 바둑이와 각 바둑이의 무게 W가 주어지면, 철수가 트럭에
47. 중복순열 구하기 1부터 N까지 번호가 적힌 구슬이 있습니다. 이 중 중복을 허락하여 M번을 뽑아 일렬로 나열 하는 방법을 모두 출력합니다. ▣ 입력설명 첫 번째 줄에 자연수 N(3 내가 구현하고 싶었던 건 n(예제로 따지면 0123 존재하는 리스트)길이 만큼의
48. 동전교환 다음과 같이 여러 단위의 동전들이 주어져 있을때 거스름돈을 가장 적은 수의 동전으로 교환 해주려면 어떻게 주면 되는가? 각 단위의 동전은 무한정 쓸 수 있다. ▣ 입력설명 첫 번째 줄에는 동전의 종류개수 N(1
49. 순열 구하기 1부터 N까지 번호가 적힌 구슬이 있습니다. 이 중 M개를 뽑아 일렬로 나열하는 방법을 모두 출력합니다. ▣ 입력설명 첫 번째 줄에 자연수 N(3 중간에 같은 숫자인 애들 부분이 공백으로 나와서 잘못나오는 중.. 어떻게 해야할까? +a[0]!=a[1
50. 수열 추측하기 가장 윗줄에 1부터 N까지의 숫자가 한 개씩 적혀 있다. 그리고 둘째 줄부터 차례대로 파스칼 의 삼각형처럼 위의 두개를 더한 값이 저장되게 된다. 예를 들어 N이 4 이고 가장 윗 줄에 3 1 2 4 가 있다고 했을 때, 다음과 같은 삼각형이 그려
51. 조합 구하기 1부터 N까지 번호가 적힌 구슬이 있습니다. 이 중 M개를 뽑는 방법의 수를 출력하는 프로그 램을 작성하세요. ▣ 입력설명 첫 번째 줄에 자연수 N(3
52. 수들의 조합 N개의 정수가 주어지면 그 숫자들 중 K개를 뽑는 조합의 합이 임의의 정수 M의 배수인 개수 는 몇 개가 있는지 출력하는 프로그램을 작성하세요. 예를 들면 5개의 숫자 2 4 5 8 12가 주어지고, 3개를 뽑은 조합의 합이 6의 배수인 조합을 찾으
53. 인접행렬(가중치 방향그래프) 아래 그림과 같은 그래프 정보를 인접행렬로 표현해보세요. ▣ 입력설명 첫째 줄에는 정점의 수 N(2 노드와 간선의 집합을 그래프라고 함 간선 중에 방향이 설정된 애는
54. 경로 탐색(그래프 DFS) 방향그래프가 주어지면 1번 정점에서 N번 정점으로 가는 모든 경로의 가지 수를 출력하는 프 로그램을 작성하세요. 아래 그래프에서 1번 정점에서 5번 정점으로 가는 가지 수는 총 6 가지입니다. ▣ 입력설명 첫째 줄에는 정점의 수 N(
55. 최대점수 구하기(DFS) 이번 정보올림피아드대회에서 좋은 성적을 내기 위하여 현수는 선생님이 주신 N개의 문제를 풀려고 합니다. 각 문제는 그것을 풀었을 때 얻는 점수와 푸는데 걸리는 시간이 주어지게 됩 니다. 제한시간 M안에 N개의 문제 중 최대점수를 얻을 수
56. 휴가(삼성 SW역량평가 기출문제 : DFS활용) 카운셀러로 일하고 있는 현수는 오늘부터 N+1일째 되는 날 휴가를 가기 위해서, 남은 N일 동 안 최대한 많은 상담을 해서 휴가비를 넉넉히 만들어 휴가를 떠나려 한다. 현수가 다니는 회사에 하루에 하나씩 서로 다른
57. 양팔저울(DFS) 무게가 서로 다른 K개의 추와 빈 그릇이 있다. 모든 추의 무게는 정수이고, 그릇의 무게는 0 으로 간주한다. 양팔저울을 한 번만 이용하여 원하는 물의 무게를 그릇에 담고자 한다. 주어진 모든 추 무게의 합을 S라 하자. 예를 들어, 추가 3개
58. 동전 바꿔주기(DFS) 명보네 동네 가게의 현금 출납기에는 k가지 동전이 각각n1, n2, ... , nk개 씩 들어있다. 가게 주인은 명보에게 T원의 지폐를 동전으로 바꿔 주려고한다. 이때, 동전 교환 방법은 여러 가지가 있을 수 있다.예를 들어, 10원 짜리
59. 동전 분배하기(DFS) N개의 동전을 A, B, C 세명에게 나누어 주려고 합니다. 세 명에게 동전을 적절히 나누어 주어, 세 명이 받은 각각의 총액을 계산해, 총액이 가장 큰 사람과 가장 작은 사람의 차가 최소가 되도록 해보세요. 단 세 사람의 총액은 서로 달
60. 알파코드(DFS) 철수와 영희는 서로의 비밀편지를 암호화해서 서로 주고받기로 했다. 그래서 서로 어떻게 암 호화를 할 것인지 의논을 하고 있다. 영희 : 우리 알파벳 A에는 1로, B에는 2로 이렇게 해서 Z에는 26을 할당하여 번호로 보내기 로 하자. 철수 :
61. 송아지 찾기(BFS : 상태트리탐색) 현수는 송아지를 잃어버렸다. 다행히 송아지에는 위치추적기가 달려 있다. 현수의 위치와 송아 지의 위치가 직선상의 좌표 점으로 주어지면 현수는 현재 위치에서 송아지의 위치까지 다음과 같은 방법으로 이동한다. 현수는 스카이 콩콩
62. 사과나무(BFS) 현수의 농장은 N*N 격자판으로 이루어져 있으며, 각 격자안에는 한 그루의 사과나무가 심어저 있다. N의 크기는 항상 홀수이다. 가을이 되어 사과를 수확해야 하는데 현수는 격자판안의 사 과를 수확할 때 다이아몬드 모양의 격자판만 수확하고 나머지
63. 미로의 최단거리 통로(BFS 활용) 7*7 격자판 미로를 탈출하는 최단경로의 경로수를 출력하는 프로그램을 작성하세요. 경로수는 출발점에서 도착점까지 가는데 이동한 횟수를 의미한다. 출발점은 격자의 (1, 1) 좌표이고, 탈 출 도착점은 (7, 7)좌표이다. 격자
64. 미로탐색(DFS) 7*7 격자판 미로를 탈출하는 경로의 가지수를 출력하는 프로그램을 작성하세요. 출발점은 격 자의 (1, 1) 좌표이고, 탈출 도착점은 (7, 7)좌표이다. 격자판의 1은 벽이고, 0은 통로이다. 격 자판의 움직임은 상하좌우로만 움직인다. 미로가
65. 등산경로(DFS) 등산을 매우 좋아하는 철수는 마을에 있는 뒷산에 등산경로를 만들 계획을 세우고 있습니다. 마을 뒷산의 형태를 나타낸 지도는 N*N 구역으로 나뉘어져 있으며, 각 구역에는 높이가 함께 나타나 있습니다. N=5이면 아래와 같이 표현됩니다. 어떤
66. 단지 번호 붙이기(DFS, BFS) 그림1과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸 다.철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한 다. 여기서 연결되었다는 것은 어떤
67. 섬나라 아일랜드(BFS 활용) 섬나라 아일랜드의 지도가 격자판의 정보로 주어집니다. 각 섬은 1로 표시되어 상하좌우와 대 각선으로 연결되어 있으며, 0은 바다입니다. 섬나라 아일랜드에 몇 개의 섬이 있는지 구하는 프로그램을 작성하세요 만약 위와 같다면 ▣ 입력
68. 안전영역(BFS) 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 안전한 영역이 최대로 몇 개가 만들어 지는 지를 조사하려
69. 토마토(BFS 활용) 현수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림 과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있
70. 사다리 타기(DFS) 현수와 친구들은 과자를 사먹기 위해 사다리 타기를 합니다. 사다리 표현은 2차원 평면은 0으 로 채워지고, 사다리는 1로 표현합니다. 현수는 특정도착지점으로 도착하기 위해서는 몇 번째 열에서 출발해야 하는지 알고싶습니다. 특정 도착지점은 2
71. 피자 배달 거리(삼성 SW역량평가 기출문제 : DFS활용) N×N 크기의 도시지도가 있습니다. 도시지도는 1×1크기의 격자칸으로 이루어져 있습니다. 각 격자칸에는 0은 빈칸, 1은 집, 2는 피자집으로 표현됩니다. 각 격자칸은 좌표(행번호, 열 번호) 로 표현됩
현수는 네트워크 선을 1m, 2m의 길이를 갖는 선으로 자르려고 합니다.예를 들어 4m의 네트워크 선이 주어진다면1) 1m+1m+1m+1m2) 2m+1m+1m3) 1m+2m+1m4) 1m+1m+2m5) 2m+2m의 5가지 방법을 생각할 수 있습니다. (2)와 (3)과
72-2. 네트워크 선 자르기(Top-Down : 재귀, 메모이제이션) 현수는 네트워크 선을 1m, 2m의 길이를 갖는 선으로 자르려고 합니다. 예를 들어 4m의 네트워크 선이 주어진다면 1) 1m+1m+1m+1m 2) 2m+1m+1m 3) 1m+2m+1m 4) 1m+
철수는 계단을 오를 때 한 번에 한 계단 또는 두 계단씩 올라간다. 만약 총 4계단을 오른다면그 방법의 수는1+1+1+1, 1+1+2, 1+2+1, 2+1+1, 2+2 로 5가지이다.그렇다면 총 N계단일 때 철수가 올라갈 수 있는 방법의 수는 몇 가지인가?▣ 입력설명첫
철수는 학교에 가는데 개울을 만났습니다. 개울은 N개의 돌로 다리를 만들어 놓았습니다. 철수는 돌 다리를 건널 때 한 번에 한 칸 또는 두 칸씩 건너뛰면서 돌다리를 건널 수 있습니다.철수가 개울을 건너는 방법은 몇 가지일까요?▣ 입력설명첫째 줄은 돌의 개수인 자연수 N
73. 최대 부분 증가수열 N개의 자연수로 이루어진 수열이 주어졌을 때, 그 중에서 가장 길게 증가하는(작은 수에서 큰 수로) 원소들의 집합을 찾는 프로그램을 작성하라. 예를 들어, 원소가 2, 7, 5, 8, 6, 4, 7, 12, 3 이면 가장 길게 증가하도록 원소
74. 최대 선 연결하기 왼쪽의 번호와 오른쪽의 번호가 있는 그림에서 같은 번호끼리 선으로 연결하려고 합니다. 왼쪽번호는 무조건 위에서부터 차례로 1부터 N까지 오름차순으로 나열되어 있습니다. 오른쪽의 번호 정보가 위부터 아래 순서로 주어지만 서로 선이 겹치지 않고 최
밑면이 정사각형인 직육면체 벽돌들을 사용하여 탑을 쌓고자 한다. 탑은 벽돌을 한 개씩 아래에서 위로 쌓으면서 만들어 간다. 아래의 조건을 만족하면서 가장 높은 탑을 쌓을 수 있는 프로그램을 작성하시오.(조건1) 벽돌은 회전시킬 수 없다. 즉, 옆면을 밑면으로 사용할 수
76. 알리바바와 40인의 도둑(Bottom-Up) / (Top-Down) 알리바바는 40인의 도둑으로부터 금화를 훔쳐 도망치고 있습니다. 알리바바는 도망치는 길에 평소에 잘 가지 않던 계곡의 돌다리로 도망가고자 한다. 계곡의 돌다리는 N×N개의 돌들로 구성되어 있다.
77. 가방문제(냅색 알고리즘) 최고 17kg의 무게를 저장할 수 있는 가방이 있다. 그리고 각각 3kg, 4kg, 7kg, 8kg, 9kg의 무게를 가진 5종류의 보석이 있다. 이 보석들의 가치는 각각 4, 5, 10, 11, 13이다. 이 보석을 가방에 담는데 17
78. 동전교환(냅색 알고리즘) 다음과 같이 여러 단위의 동전들이 주어져 있을때 거스름돈을 가장 적은 수의 동전으로 교환 해주려면 어떻게 주면 되는가? 각 단위의 동전은 무한정 쓸 수 있다. ▣ 입력설명 첫 번째 줄에는 동전의 종류개수 N(1
79. 최대점수 구하기(냅색 알고리즘) 이번 정보올림피아드대회에서 좋은 성적을 내기 위하여 현수는 선생님이 주신 N개의 문제를 풀려고 합니다. 각 문제는 그것을 풀었을 때 얻는 점수와 푸는데 걸리는 시간이 주어지게 됩 니다. 제한시간 M안에 N개의 문제 중 최대점수를
80. 플로이드 워샬 알고리즘 N개의 도시가 주어지고, 각 도시들을 연결하는 도로와 해당 도로를 통행하는 비용이 주어질 때 모든 도시에서 모든 도시로 이동하는데 쓰이는 비용의 최소값을 구하는 프로그램을 작성하여라 ▣ 입력설명 첫 번째 줄에는 도시의 수N(N<=100)
81. 회장뽑기(플로이드-워샬 응용) 월드컵축구의 응원을 위한 모임에서 회장을 선출하려고 한다. 이모임은 만들어진지 얼마 되지 않았기 때문에 회원사이에 서로 모르는 사람도 있지만, 몇 사람을 통하면 서로 모두 알 수 있 다. 각 회원은 다른 회원들과 가까운 정도에 따라
82. 위상정렬(그래프 정렬) 위상정렬은 어떤 일을 하는 순서를 찾는 알고리즘입니다. 각각의 일의 선후관계가 복잡하게 얽혀있을 때 각각 일의 선후관계를 유지하면서 전체 일의 순서를 짜는 알고리즘입니다. 만약 아래와 같은 일의 순서를 각각 지키면서 전체 일의 순서를 정한
.PNG) [백준 10172] => 파이썬에서 \ 출력되게 하려면 두개 있어야 한다
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.입력첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.출력첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.예제 입력 1 5예제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.입력입력은 여러 개의 테스트 케이스로 이루어져 있다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)출력각 테스트 케이스마다 A
86. 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.입력첫째 줄에는 테스트 케이스의 개수 C가 주어진다.둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고,
나는 딱 문제에 맞게만 1000자리 이내의 숫자까지만 식별 가능하게 만든거구 다른 분은 어떤 자리가 나오든 등차수열 따질 수 있게 만드심함수가 t/f 출력하게 해서 if(함수가 참이라면) 갯수 갱신하는 접근법도 有
(1) (2) 논리는 잘 맞는데 recursion limit의 늪에서 빠져나올 방법을 찾지 못하였다 왜 나는 setrecursionerror 가 적용되지 않는 걸까요? > 인터프리터에서 직접 실행된 경우에만, if문 이하의 코드를 돌리라는 명령 모듈을 실행할
문자 -> 아스키코드 : chr() 아스키코드 -> 문자 : ord()
91. 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.
예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다.크로아티아 알파벳 변경č c=ć c-dž dz=đ d-lj ljnj njš s=ž z=예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj,
93. 그룹 단어 체커 문제 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만
96. 달팽이는 올라가고 싶다 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막
94. 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서
95. 분수찾기 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/2 … … … … 5/1 … … … … … … … … … … … 이와 같이 나열된
98. 분수찾기 출처 : 출처
99. 분수찾기 출처 : 출처
101. 큰 수 A+B 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0
100. 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대
101. 큰 수 A+B 출처 : 출처
103. 소수 찾기 출처 : 출처
104. 소수 문제 자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로, 이들 소수의 합은 620이고, 최솟값은 61이...
105. 큰 수 소인수분해 1) 어떤 전략(알고리즘)으로 해결? 위처럼 해당 수까지 소수들을 체크해내는 배열을 arr 을 생성해놓는다 이후 arr 배열에서 0으로 체크된 소수들만 빼서 새로운 배열 sosu 에 저장한다. 1) n을 sosu에 있는 아이들로 나눠보면서 나머지가 0이 되는 경우가 발생한다면 sosu에 있는 아이를 final 배열에 저장...
106. 소수 구하기 문제 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. 출력 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. 예제 입력 1 3 16 예제 출력 1 3...
107. 베르트랑 공준 문제 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼프가 1850년에 증명했다. 예를 들어, 10보다 크고, 20보다 작거나 같은 소수는 4개가 있다. (11, 13, 17, 19)...
108. 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아니다. 골드바흐의 추측은 유명한
108. 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아니다. 골드바흐의 추측은 유명한
109. 직사각형에서 탈출 문제 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 x, y, w, h가 주어진다. 출력 첫째 줄에 문제의 정답을 출력한다. 제한 1 ...
101. 큰 수 A+B 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 출처 : 출처
111. 직각삼각형 1) 어떤 전략(알고리즘)으로 해결? 빗변의 제곱이 나머지 두 아이의 제곱의 합인지 2) 코딩 설명 0,0,0, 받을 때까지는 계속 입력 받을 수 있도록 함 if~elif로 경우의 수를 세서 진행 출처 : 출처 너무 일일히 나는 비교를 해서 좀 그렇다.. array로 받아서 그 안에서 max인 친구 구하고 그 아이를 remove한...
112. 터렛 1) 어떤 전략(알고리즘)으로 해결? 구하고자 하는 대상의 위치를 k,l이라고 하면 ((x1-k)2 + (y1-l)2)**(1/2) == r1 ((x2-k)2 + (y2-l)2)**(1/2) == r2 여기서 가능한 k,l을 모두 구하는건데.. 그림,
113. 팩토리얼 2) 코딩 설명 출처 : 출처 재귀로 푸는 방법이 생각이 나지 않았다..ㅠㅠ 재귀는 함수를 만들어서 풀도록 하자
114. 피보나치 수 5 1) 어떤 전략(알고리즘)으로 해결? 피보나치가 0 인 경우엔 0, 피보나치가 1인 경우엔 1 이 확정 2) 코딩 설명 그리고 피보나치는 자기 앞의앞의 수 + 앞의 수 이므로 f(n-2) + f(n-1)로 가는 걸로 해야 한다 출처 : 출처 이건 입력받은 값까지 다 더하는 수였음 ;; 자료구조 복습 벨로그를 꼭 휴학 기...
115. 별 찍기 - 10 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 (1) 안되던 코드 (2) 다른 분의 설명 참고 출처1: https://study-all-night.tistory.com/5 출처2: https://imgzon.tistory.com
116. 하노이 탑 이동 순서 1) 어떤 전략(알고리즘)으로 해결? 계속해서 반복되는 하노이 재귀 2) 코딩 설명 출처 : 출처
118. 블랙잭 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들
118. 분해합 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245
119. 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x, y), (p, q)라고 할
120. 체스판 다시 칠하기 지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 M×N 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져 있고, 나머지는 흰색으로 칠해져 있다. 지민이는 이 보드를 잘라서 8×8 크기의 체스판으로 만들려고 한다.
121. 영화감독 숌 문제 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 ...
122. 통계학 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 => 시간 초과 걸리네...max,min은 안 쓸 수 있을 것 같아서 그거 수정해서 pypy로 돌리니깐 됨 출처 : 출처 파이썬 나눈거 소수점 한자리에서 반올림 round(실수,n) sys
123. 소트인사이드 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명
124. 좌표정렬2 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 시간초과 여전히 시간 에러
125. 단어정렬 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄
126. 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌표 압
127. N과 M (1) 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명
128. N+M(2) 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 고른 수열은 오름차순이어야 한다. 입력 첫째 줄에 자연수 N과 M이 주어진
129. N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 2022-0805 다시 풀이 행끼리의 차 == 열끼리 차의 절대값이 True면 대각선!! https...
130. 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루어진 정사각형 판 위에서 이뤄지는데, 게임 시작 전 일부
131. 스타트와 링크 1) 어떤 전략(알고리즘)으로 해결? (1) 우선 팀을 반으로 가르는 모든 경우 구해뜸 => ex1,ex2라는 배열이 각각 팀1,2의 경우 (2) 이 반으로 가르는 모든 경우에 해당하는 표값 조합을 구하는 findmini 구현하기 2) 코
132. 연산자 끼워넣기 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 출처 : 출처
단순 재귀로 피보나치 수를 구하면 왜 느릴까요? 함수 호출의 개수가 기하급수적으로 늘어나기 때문입니다. 133. 피보나치 함수 > 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 출처 : 출처
134. 신나는 함수 실행 1) 어떤 전략(알고리즘)으로 해결? 3차원 arr에 미리 선언해두고 그때 그때 빼오기 2) 코딩 설명 출처 : 출처 나 너무 다 선언하고 데려오는 방식으로만 구현하는 듯 이럼 너무 곤란해 더 발전적으로 dp 사용 원해 > 배열 생성 2,3차원 배열 생성 출처 블로그 2차원 배열 생성하기 3차원 배열 생성하기 2~3...
135. 01타일 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 출처 : 출처 런타임 에러, 메모리 초과 코드 => 이거 붙이면 런타임에러는 멈춤, 근데 메모리 초과됨 -> top down으로 해서 그런가? -> bottom up으로 변경 얘도..
136. 파도반 수열 문제 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다. 파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 ...
137. RGB거리 문제 RGB거리에는 집이 N개 있다. 거리는 선분으로 나타낼 수 있고, 1번 집부터 N번 집이 순서대로 있다. 집은 빨강, 초록, 파랑 중 하나의 색으로 칠해야 한다. 각각의 집을 빨강, 초록, 파랑으로 칠하는 비용이 주어졌을 때, 아래 규칙을 만
138. 정수삼각형 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 TypeError: 'int' object is not subscriptable 위 에러가 처음에 발생 이 코드에서 계속 발생했었다. 나는 res가 이차원 배열인데 왜 저래 ㅡㅡ 하면서
127. 큰 수 A+B 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 출처 : 출처
140. 계단 오르기 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 출처 : 출처
141. 동전 0 1) 어떤 전략(알고리즘)으로 해결? 그리디 알고리즘 2) 코딩 설명 가장 큰 동전부터 돌아가면서 해결 1) 시간초과 => 왜냐 뺄셈과 덧셈으로 작업을 했기 때문이지 덧셈과 뺄셈은 참 오래걸리니 지양하자 > % 는 나머지 > // 는 몫
142. 스택, 스택 활용 1) 어떤 전략(알고리즘)으로 해결? 스택 구현 및 스택의 개념 활용 2) 코딩 설명 입력만 sys.stdin.readline() 으로 받아주면 만사해결 (1) 10828번 함수로 괜히 나눈 탓인가? 시간초과가 나버렸다. 이렇게 진행했는데도 시간초과 원인 : input을 (sys.stdin.readline()) 의 형태...
143. 회의실 배정 https://www.acmicpc.net/problem/1931 1) 어떤 전략(알고리즘)으로 해결? 그리디 알고리즘 2) 코딩 설명 출처 : 출처
144. 유기농 배추 1) 어떤 전략(알고리즘)으로 해결? 자신과 붙어있는 덩어리들을 찾기 위해서 dfs로 한번 들어가면 깊이로 탐색 2) 코딩 설명 출처 : 출처 => Runtime Error : https://help.acmicpc.net/judge/rte/
145. () 1) 어떤 전략(알고리즘)으로 해결? 스택을 활용해서 ( 를 만나면 쌓고 )를 만나면 그동안 안에 들어있던 것들은 다 pop해주는 방식으로 수행했다. 2) 코딩 설명 이렇게 하면 for i in inp에서도 걸리고 for i in inp 를 벗어난
146. 에디터 1) 어떤 전략(알고리즘)으로 해결? 처음엔 단순 리스트 비교인줄 알았는데, 스택으로 구현하는 문제 생각보다 스택으로 활용해야만 풀리는 문제들이 한가득이다. 시간 효율적 면에서 훨씬 빠르기에 그런가보다. 스택 활용을 자유자재로 할 수 있도록 열심히
147. 괄호의 값 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 => 테스트 케이스는 잘 돌아가는데, 어딘가에서 Index Error가 발생한다고 한다. 인덱스에러 발생구간 * 나는 항상 테스트 케이스, 예외처리할 때 값이 엄청 단순한 경우 ( 딱 입
149. 요세푸스 문제 1) 어떤 전략(알고리즘)으로 해결? 큐 속성을 활용해서 popleft 진행해주는 방식 2) 코딩 설명 큐의 성질을 이용해서 풀어냈다 (fifo) https://codechacha.com/ko/python-convert-list-to-str
149. AC 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 시간초과를 줄일 방법 1) 매번 reverse 를 진행하는 것은 비효율적 R 이 나오면 REVERSE를 하는게 아니라, R을 축적해서 => R이 홀수번이라면 한번 뒤집혔다고 생각하고 맨 처음아이를
150. 합이 0 1) 어떤 전략(알고리즘)으로 해결? 투 포인터로 접근해야 하는 문제 2) 코딩 설명 https://velog.io/@myway00/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%9
151. 큰 수 A+B 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 내 괄호 (내 막대 사이) 안의 레이저 갯수 + 1 을 하면 답이 나오게 된다. 조건을 좀만 더 신중히 생각하기 pop 파이썬 join 활용예시 > '구분자'.join(리스트)
152. 오등큰수 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 시간초과 이중 for문 join, count 는 str에서만 적용된다. 카운터 라이브러리 >
153. 후위표기 1) 어떤 전략(알고리즘)으로 해결? 스택에 넣고 연산자 발견하면 뽑기 2) 코딩 설명 > 1 AA+A+ 1 이런 문자가 하나인 경우를 고려하지 않고, alphaidx 라는 값으로 계속 증가하게 해서 r에서 해당하는 인덱스를 가져오게 하는 방식
154. 후위표기식(3) 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 이 지점에서 틀렸다고 뜬다,, 안되는 테케를 찾고싶은데 ㅠㅠ 뭘까 디버깅 발견 괄호 ) 를 만나면 ( 만날 때까지로 끊어줘야 하나?
155. RGB거리 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 출처 : https://pacific-ocean.tistory.com/147 출처 : 출처 DP의 메모이제이션을 이렇게 리스트에 담고, 누적해나가는 방식 완전 탐색이 시간 초과가 걸리는
156. 전번 목록 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 => 시간초과 \- sort를 할 때 key=len 속성을 통해서 길이 기준 정렬 가능
157. ROT13 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 => 44%까지 갔다가 출력형식이 잘못됐다고 뜬다. 구글링 : https://www.acmicpc.net/board/view/11233 -아,,,맨 앞에 공백이 들어오는 경우도 있었다구
158. 창고 다각형 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 가장 높은 길이의 인덱스를 만나기 전 : 처음부터 가장 긴애 만나기 전까지, 만약 나보다 큰애 만나면 그 순간 그 사이 넓이 계산 가장 높은 길이의 인덱스 : 이 친구의 넓이 (1*높이)
159. 최소공배수, 최대공약수 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 => 바로바로 합집합이 없는 경우를 고려하지 않았기 때문! wow ㅋㅋㅋ 그리고 약수는 1부터 있다나는 범위를 2로 해서 항상 약수로 1 존재하는데 그걸 생각을 못했다 요말이야
160. A -> B 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 참고 풀이 : https://codesyun.tistory.com/294 1) 2) 혹은 BFS로 풀 수도 있다고 한다! 앞에서 -> 뒤로 나아가는 사고보다 뒤를 줄여서 앞으로 나아가
161. 소수찾기 1) 어떤 전략(알고리즘)으로 해결? 에라토스테네스체 복습! 2) 코딩 설명 에라스토테네스 체를 사용해 풀었는데, 틀린 구석이 있나보다 => ㅋㅋㅋㅋ 범위를 2,101 이 아니라 1001! 그리고 1은 소수가 아닌 것 표시하는 것이야 그래서 2는
162. 외계인의 기타 연주 1) 어떤 전략(알고리즘)으로 해결? 스택 2) 코딩 설명 반례 이 부분이 잘못됐었다! 이때 break를 하면 아예 전체 for문이 break 되는데, 내가 인덴트를 잘못보고 여따가 걸어놨다, 위에 반례를 내가 행운스럽게 맞춘 덕에
163. 괄호 제거 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 처음에 순서쌍 찾는 것을 틀렸었나 보다. 스택을 사용해서 바꿔주었다. 6퍼만 가면 틀렸대,
164. 탑 1) 어떤 전략(알고리즘)으로 해결? STACK 2) 코딩 설명 0105 version 옛날 version 0105 version https://ywtechit.tistory.com/204 옛날 version 시간초과 반대로 계산해보자 스택은 TMI 얘랑 https://www.acmicpc.net/problem/6198 아주 비슷하
166. 조합 0의 개수 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 설명 참고 : https://www.acmicpc.net/board/view/60835, https://tmdrl5779.tistory.com/95 그냥 팩토리얼이었다면 > - 소인
165. 앵무새 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 10%에서 틀림
167. 할리갈리 게임 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 append랑 appendleft의 차이였다,, 내가 설정한 로직에서는 리스트의 뒤 인덱스일 수록 우선순위가 높은 아이였기에, 종 친 사람이 카드 자기걸로 가져올 때, 기존에 있던 것
168. 뱀 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 출처 : 출처
169. 주차장 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 출처 : 출처
170. 2진수 -> 8진수 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 들어오는 수를 n=int(받기, 2) 로 하면 들어오는 2진수를 10진수로 변환 가능하다! 그렇게 변환된 10진수를 oct를 통해 8진수로 변환 라이브러리만 알면 쉬운 문제였겠지만,
171. 최소힙 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 heapq 를 활용한 힙 구현! > heapq.heappop(리스트) heapq.heappush(리스트, 넣을 값) 시간초과가 난다, 근데 이런 거는 큐를 활용하는 거니까 (힙은 우선순위 큐!
172. 최대힙 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 를 해야지 리스트를 만들고, heapq 사용 가능 출처 : https://www.daleseo.com/python-heapq/ heapq 는 최소힙으로 구성돼있다고 한다 > - 바로 힙에 튜플
173. 강의실 배정 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 84%까지 갔는데 시간초과~ 이중 for문 돌리는 부분 또한 (room 탐색 부분) 우선순위 큐로 바꿔야 할 듯 마찬가지 시간초과 ㅋ (바뀐게 없으니,, 당욘) room을 힙으로 바꾸
174. -2 진수 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 출처, 참고 : https://suri78.tistory.com/119 진수를 그동안 맨날 메소드로 풀어서 ㅠㅠ 접근법을 몰랐다 진수는 나머쥐 진수는 나머지로 접근하자
175. 골드바흐 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 1차 풀이 (시간 400m/s) 2차 풀이 (시간 240m/s) ` 해당하는 i번째 lis의 수의 절반까지만 돌리면 애초에 중복이 일어나지 않지 for(시작 , 끝 , 간격) 인데 간격을
176. 최소 회의실 개수 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 시간 담는 것은 시작 시간 기준으로 담고 방 만드는 것 비교는 최소 종료 시간 기준이 맞지 끝나는 시간을 기준으로 비교하면 틀린다 끝 시간 기준으로 하면 틀리는 반례 출처 : htt
177. 진법변환 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 다른 분의 초간단 풀이,,! 결과 풀이 참고 1차 시도 2차 시도 => 백준 2745 VALUE ERROR ? => 나는 저 STRR에 W를 빼먹음 ^^ int(받은 수, 변환 진
178. Base Conversion 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 문자열이 아니라 리스트에 16 을 바로 저장하게 하고 출력하니 정답이 나왔다. 많은 사례들을 테스트했을 때는 됐는데, 1퍼센트 대에서 바로 틀렸다고 뜬다. 반례가 무엇일까
179. 부분 수열의 합 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 아주 오랫동안 기다리는 중입니다 뜨더니 틀렸습니다로 바로 가버림 왜냐하면 말 그대로 틀렸기 때문,, sort 한 다음 set 을 한번 더 입혀줬었는데, 이때 순서가 오름차순이 아니고
180. 미로탐색 1) 어떤 전략(알고리즘)으로 해결? BFS 2) 코딩 설명 내가 map 에 문자열로 '1' 을 넣고 있어서 1을 인식하지 못했어서 오류 및 오답이 발생했었다. 그래서 maptmpx 를 프린트하면 1 이라고 찍히는데 maptmpx==1 이라고
181. 보물섬 1) 어떤 전략(알고리즘)으로 해결? BFS !! 이제 두번 활용하니깐 확 복습 쫙 되네 BFS 는 큐를 활용하고 방문 여부 체크 필요, 거리 계산할거라서 DIS라는 리스트 만들면 사실 상 얘가 방문 여부 체크 역할도 하기에 (방문 안된 것은 거리가
182. 1로 만들기 1) 어떤 전략(알고리즘)으로 해결? DP 2) 코딩 설명 주석 설명 2023-01-24-스스로 다시 푼 풀이 2022-06-22 풀이(다른 분의 코드를 본 후 풀이만 적은 것) 코드 및 설명 출처 : https://hongcoding.tistory.com/46 시간 제한이 있는 걸 봤음에도 한번 시도해본 재귀로 모든 경우의 수 ...
183. 치킨 배달 1) 어떤 전략(알고리즘)으로 해결? bfs를 활용한 완전 탐색이지 위의 생각에 사로잡혀서 삽질 대마왕함 2) 코딩 설명 조합으로 치킨집 뽑는 경우의 수 구하기 그 경우의 수 때마다 치킨 거리 구해서 total list에 넣기 경우의 수 for 문
184. 암호 만들기 1) 어떤 전략(알고리즘)으로 해결? 브루트 포스 for문을 마구마구 돌려돌려 조합도 활용해 2) 코딩 설명 모음은 하나, 자음은 두개가 꼭 있어야 함 그래서 모음의 조합을 꺼내줄 때 l이 4라면 모음은 자음이 두개 이상 나올 수 있는 1
185. 선발 명단 1) 어떤 전략(알고리즘)으로 해결? 백트래킹 완전탐색 (dfs) 2) 코딩 설명 선수중 아직 선택안됐꼬, 포지션 점수가 0 아닌 애들을 모아모아서 경우를 가지로 파악 total_lis 라는 곳에 모든 경우의 점수를 모아놓고 거기서 최대인 아이를
186. 주사위 쌓기 1) 어떤 전략(알고리즘)으로 해결? 브루트 포스, dfs 2) 코딩 설명 주사위 여섯개 면이 밑면으로 왔을 때 각각 경우를 확인하면 된다. recursion error 9프로에서 recursion 에러~ 메모리 초과 > 모든 입력을 배열
187. 나무 탈출 1) 어떤 전략(알고리즘)으로 해결? dfs 로 루트로부터 노드들 사이의 거리 구해준다 이후 리프노드들과 루트 노드 사이의 거리들을 모두 합해준 뒤 홀짝 여부 판별 2) 코딩 설명 메모리 초과
188. 그림 1) 어떤 전략(알고리즘)으로 해결? dfs, bfs 2) 코딩 설명 1 발견하면 이어져있는 아이들 탐색 bfs로 접근해서 재귀가 아닌 큐가 있는 동안 돌게 해주었더니 잘 통과가 됐다. 메모리초과 및 recursion 에러 (DFS) 다들 dfs 로
189. 크레인 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 배열을 잘못 생각함 ㅠㅠ
190. ABCDE 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 dfs 시간초과 10프로에서 틀렸습니다~ 아래가 틀렸던 이유 : DFS에는 가지 뻗을 때 다시 가지 뻗고 가지 뻗기 이전 상태로 돌려놔야하지 > - DEF 안에서는 그렇게 잘 처리를 해찌
191. 회사문화 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 시간초과 (19%) 나는 칭찬 받을 때마다 dfs 돌렸는데 그럼 시간초과가 걸린다. > 이 때, 칭찬의 총 갯수 M마다 dfs를 돌면 시간초과가 나므로 사람 i에 대한 칭찬을 미리 모두 더한
192. 1로 만들기 1) 어떤 전략(알고리즘)으로 해결? 전의 결과를 다음 결과에 이용하는 DP 2) 코딩 설명
193.이진수게임 1) 어떤 전략(알고리즘)으로 해결? BFS 2) 코딩 설명
194. 스타트링크 1) 어떤 전략(알고리즘)으로 해결? bfs 2) 코딩 설명 아래 코드는 내자마자 틀렸다구 한다. 2프로에서 틀리는 코드 2프로 틀린 이유 : 가히 충격적 mini 99999 로 설정했던게 , now[1]이 99999보다 큰 경우가 존재,,,
195. 프로그래머스 체육복 1) 어떤 전략(알고리즘)으로 해결? 제거 해주고 앞 뒤 검사해주는 과정을 거쳤다. 2) 코딩 설명 찍어보니 제대로 remove 가 되지 않고 있던 상황이었음, 왜냐면 인덱스가 밀려서 제대로 검사 수행이 X 문제는 이 부분! 이 과정에서 제대로 제거가 이뤄지고 있지 않았음 당연히 확신을 가지지 말고, print 해보고 ...
196. 토마토 1) 어떤 전략(알고리즘)으로 해결? bfs 2) 코딩 설명 시간 초과! ~ ! (지극히 당연 ㅋ)
197. 불 1) 어떤 전략(알고리즘)으로 해결? BFS 2) 코딩 설명 먼저 불을 붙인다, 불을 붙일 때 불이 붙는 시간으로 붙여놓는다 이후에 지훈이를 옮긴다 7% 에서 시간초과 오잉 네임 에러!? ㅇㅁㅇ 내가 체크하는 것 조건 잘못 설정해서 jrow 가 선언되
198. 숨바꼭질2 1) 어떤 전략(알고리즘)으로 해결? bfs 주의할 점 : > 도착점이 아닌 점에서 최단 시간으로 같은 점을 여러 번 방문하였을 때 방법을 세는 부분 필요 (백준 질문) 기존에 나는 한번 visited 되면 다시는 안 찾아가게 했음 그렇게 되면
199. 중량제한 1) 어떤 전략(알고리즘)으로 해결? bfs 2) 코딩 설명 6프로에서 틀리는 내풀이
200.단어정렬2 1) 어떤 전략(알고리즘)으로 해결? 정렬 2) 코딩 설명 파이썬 리스트 정렬 (특정 key 기준) https://infinitt.tistory.com/122 파이썬 람다 filter https://coding-groot.tistory.com/21
201. 평범한 배낭 1) 어떤 전략(알고리즘)으로 해결? DP DP DP 2) 코딩 설명 아래는 한 물건을 여러개 뽑을 수 있다고 가정하는 코드, 그러나 이 문제는 단 한번씩만 담기기 가능 순서대로 물건을 담아주면 물건이 계속 누적되는 문제 발생, 여기서는 물건은
202. LCS 1) 어떤 전략(알고리즘)으로 해결? DP DP DP 2) 코딩 설명 출처 : 출처
203 . 동물원 1) 어떤 전략(알고리즘)으로 해결? DPDPDPDP 2) 코딩 설명 리스트에다가 dp 를 다 담아두면 메모리초과 에러, 바로바로 갱신해주는 것으로 하자 메모리 초과 -나누기를 안해줬어 나누기 해줘도 나네 배열 문젠가봄
204. 동전2 DP 1) 어떤 전략(알고리즘)으로 해결? dp ~ 2) 코딩 설명 92%에서 틀리는 풀이 > 아 맞당 불가능한 경우 예외처리 안함 ;; 예외처리까지 잘해주자!
205. 작업 1) 어떤 전략(알고리즘)으로 해결? DP 2) 코딩 설명 9프로에서 틀림
206. 반전 요세푸스 1) 어떤 전략(알고리즘)으로 해결? deque 2) 코딩 설명 deque 기존 요세푸스와 똑같지만 m 명 뽑을 때마다 deque 배열 reverse 해줌 cnt 를 초기화 해줬어야 하는데 안했음 초기화 조건을 꼼꼼히~
207. 이분탐색 - 수 찾기, 숫자 카드 1) 어떤 전략(알고리즘)으로 해결? 이분탐색 ! 매우 오랜만 인 것,, 2) 코딩 설명 1) 10815 2) 1920 구현하는데 엄청 오래 걸렸다! ㅠㅠ 너무 오랜만에 해서 개념이 가물가물 크면 l을 mid+1, 작으면 r을 mid-1
208. 주사위 굴리기 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 풀이 참고, 아이디어 얻은 곳/ 출처 : https://esoongan.tistory.com/77 출처 : 출처 으으 경우 수 고려하는 것 실패 ㅠㅠ 흑흑
209. 로봇청소기 1) 어떤 전략(알고리즘)으로 해결? 구현 2) 코딩 설명 주석 각 상황에 따라서 방향이 달라지는데, 그떄마다의 왼쪽을 가리키게 하는 로직을 생각하고 짜는게 몹시 어려웠다. 온전히 내 힘으로만 풀어서 뿌듯 ㅎㅎ 왼쪽 오른쪽으로 도는 거 어떻게 구현하는지 잘 암기해두고 써먹기 자유자재로
210. 카드섞기 1) 어떤 전략(알고리즘)으로 해결? 구현 2) 코딩 설명 (1) 1차 난관 okay 가능한 경우들은 다 해결됨, 근데 안되는 경우들은 언제지?,,,
211. 장군 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 출처 : 출처
212. 나무자르기 1) 어떤 전략(알고리즘)으로 해결? 이분탐색 2) 코딩 설명 시간초과 나는 풀이 이걸 이분탐색으로 어케 적용? 이분탐색으로 바꿨지만 4 % 때 틀리대 => 항상 m이랑 똑같은 총합을 찾는게 아니라 적어도 m이다! 배열을 돌리지말고 내가 찾고자 하는 대상 후보들을 (최저값부터 최댓값까지) l, r로 설정해놓고 검사!
213. 색종이 자르기[분할 정복] 1) 어떤 전략(알고리즘)으로 해결? 분할 정복 2) 코딩 설명 출처 : 출처 what is 분할정복? > ### 재귀적으로 함수 호출하면서 큰 문제를 작은 문제로 나눠가며 해결하는 알고리즘 파이썬의 경우 sys.setrecu
215. 곱셈 1) 어떤 전략(알고리즘)으로 해결? 분할 정복 2) 코딩 설명 수학 분할 정복을 이용한 거듭제곱 을 사용하는 문제 따라서 계속 b를 나눠주면 되는 것, 그것을 재귀함수로 구현하는 것 이때 b가 홀수면 a^(b//2) * a^(b//2) * a b가 짝수라면 a^(b//2) * a^(b//2) 가 곱해지기 때문에 시시시시...
213. 공유기 설치 1) 어떤 전략(알고리즘)으로 해결? Parametric Search > #### 가장 인접한 두 공유기 사이 거리를 최대로 하는 문제(최적화) 를 아래로 변경하는 것 거리 d가 주어졌을 때 공유기 사이의 거리를 d 이상으로 하면서 c개의 공
214. 도영이의 요리 1) 어떤 전략(알고리즘)으로 해결? 백트래킹, 조합 2) 코딩 설명 조합 활용 23 % 서 틀림 왜냐면 가장 신 맛과 쓴 맛 차이가 적은 요리 를 저장하는 수에 절댓값으로 저장안하고 그냥 저장했더니 에러가 난 것이지!
215. NQUEENS 1) 어떤 전략(알고리즘)으로 해결? 백트래킹 2) 코딩 설명 주석 설명 PROMISING 추가 설명 3) 문제 설명 백트래킹 개념 N퀸 완전 이해 NQUEENS 원리 설명 동영상 강좌 & 캡처 이미지 출처 https://www.youtu
216. 주사위 1) 어떤 전략(알고리즘)으로 해결? 그리디 : 가장 최소를 구하자 세면, 두면, 한면 이 주사위에서 후보들로 쓰이는데 각 면의 경우당 가장 최솟값 구해서 그 합 출력하면 over 2) 코딩 설명 10 프로 틀림 아래 반례 수정, 그러나 15% 틀림 ㅎㅎ,, 답 : 15 나의 틀린 출력 : 24 수정 후 코드
217. 사과나무 1) 어떤 전략(알고리즘)으로 해결? 그리디 2) 코딩 설명 https://cmj092222.tistory.com/33 https://xkdlaldfjtnl.tistory.com/66 접근방법을 파악 못했습니다 흑흑 그리디에서 가능 판별 여부를
218. A와 B 1) 어떤 전략(알고리즘)으로 해결? 그리디 2) 코딩 설명 역순 정렬이 안먹히구 있었다! 역순 정렬 체크 단순히 그리고 reversed 아니고 이 reversed 를 list로 지정해줘야 list에 역순정렬최종저장이 되지 그리디의 새로운 개념
219. 카드 정렬하기 1) 어떤 전략(알고리즘)으로 해결? 그리디 2) 코딩 설명 리스트 원소가 하나 초과인 경우, 리스트에서 항상 가장 작은 두개를 더하고 , 그 두개를 리스트에서 제거해주고 더한 값 하나를 리스트에 넣어주는 것 반복 8% 에서 틀린 HEAP
220. 보석 도둑 1) 어떤 전략(알고리즘)으로 해결? 자료 구조 그리디 알고리즘 정렬 우선순위 큐 2) 코딩 설명 아예 쌩 시간초과 7프로 시간초과 이게 틀리네 반례 : 2023.01.04 => 7프로 시간초과 heappop 을 매번 하는게 아니라 조건에 부합할 때만 heappop 하는 것으로 하자 2023.01.04 > heappop 하...
221. 소트 1) 어떤 전략(알고리즘)으로 해결? 그리디 2) 코딩 설명 퍼센트도 못보고 틀려버렸던~ 나랑 똑같은 케이스 ㅋㅋ 아래는 내 코드 ㅎㅎ https://www.acmicpc.net/board/view/92397
222. 카드 놓기 1) 어떤 전략(알고리즘)으로 해결? 자료 구조,덱 2) 코딩 설명 두번째 카드를 넣는 것을 생각 미처 못했었어
223. K번째 수 1) 어떤 전략(알고리즘)으로 해결? 이이이분탐색 2) 코딩 설명 출처 (아이디어 및 코드) : https://claude-u.tistory.com/449 1) 메모리 초과
224. 합이 0 1) 어떤 전략(알고리즘)으로 해결? 이분탐색 2) 코딩 설명 너무도 당연하게 시간 초과과
225. 좋다 1) 어떤 전략(알고리즘)으로 해결? 투포인터 2) 코딩 설명 개인적으로 얘보다 3151 번이 (224번 , 이전 게시글) 훨~씬 어려웠는데 얘가 골드 4래서 깜놀 ㅇㅁㅇ 원큐에 풀었다! 투포인터 완벽 이해!
226. 두 용액 1) 어떤 전략(알고리즘)으로 해결? 투투투 포인터 2) 코딩 설명 사실 나는 굳이굳이 쪼개가면서 경우 나눴는데 그럴 필요 ㄴㄴ > # tmp 값이 음수 -> start += 1, tmp 값이 양수 -> end -=1 하면 되는 문제였지 출처 : 출처 블로그 링크 ) 시간초과 3프로 틀림 32 프로에서 틀려 => 32프로 부...
227. 두 수의 합 1) 어떤 전략(알고리즘)으로 해결? 투 투루루루 투 포인터 2) 코딩 설명 좀 더 투 포인터 익숙해질 필요 있어
229. 가장 긴 증가하는 부분 수열 1) 어떤 전략(알고리즘)으로 해결? DP 2) 코딩 설명 문제를 잘못 이해했어서 많이 헤맸던 점이 아쉬운 부분이다~
230. 색종이 만들기 1) 어떤 전략(알고리즘)으로 해결? 분할 정복 2) 코딩 설명 재귀가 안 멈춰! 뜨악 recur 함수에서,,, width 자리에 n 을 넣었었다... 어쩐지 길이가 줄어들어야 하는데 안 줄어들고 ㅠㅠㅠㅠ 그랬는데 흑흑 아래는 시간초과 당연하지! 체크 배열에서 하낳나ㅏ 체크하고앉아있어서..
231. Z 1) 어떤 전략(알고리즘)으로 해결? 분할탐색 2) 코딩 설명 출처 : 출처
233 . DFS 와 BFS 1) 어떤 전략(알고리즘)으로 해결? bfs, dfs 2) 코딩 설명 틀린 풀이 break를 걸어서 틀렸었다. 이차원 배열에 저장할걸! 사전으로 다루니깐 까다로웠다. 그리고 사전 복사는 copy.deepcopy 로 진행하자! dfs, bfs 좀만 안하면 바로 까먹어버리네, 오늘 필수 문제랑 스도쿠 까지 하고 다 주석달아버리...
233. 스도쿠 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 출처 : 출처
234. 트리의 부모 찾기 1) 어떤 전략(알고리즘)으로 해결? dfs, dfs 다 되지 2) 코딩 설명 pypy 로 해야지 근데 통과가 되더라 memory 초과 -> BFS 로 풀자 memory 초과 BFS,,, 지금까지는 relation 을 2차원 배열에 저장함, 일차원에 해보자 런타임 에러! 메모리는 이차원 배열이 문제였군~ 메모리 초과가...
235. 가로수 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 나무들 간격들을 모두 모아놓고, 이 간격들의 최대공약수가 간격이 된다! 거리//최대공약수 => 필요한 전체 나무 갯수 여기서 이미 있는 나무 갯수 빼주면 되지 https://yuuj.tistory.com/121 분의 설명을 보고 문제 이해 ! - 요상하게 접근했었음,, 무작정 가장 ...
236. 트리 순회 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 9 프로서 틀림 (걍 오타) 오타를 조심! 순회 복습
237. 이진 검색 트리 1) 어떤 전략(알고리즘)으로 해결? 재귀 그래프 2) 코딩 설명 출처 : 출처 처음 입력을 어케 받아야하나 어려웠는데 파이썬 try-except 문으로 접근해주는 거여따
238. Programmers 2020 KAKAO BLIND RECRUITMENT 문자열 압축 https://school.programmers.co.kr/learn/courses/30/lessons/60057 1) 어떤 전략(알고리즘)으로 해결? 문자열 처리 2) 코딩 설명 이전 문자열과 주석으로 설명 존재 그리고 마지막 예외처리를 계속해줬어야 함 처...
239. 30 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 2%에서 시간초과 10%에서 시간초과 30으로 나눠떨어지는 규칙을 찾지 못한 점이 아쉽 규칙은 아래와 같다
240. 오픈채팅방 https://school.programmers.co.kr/learn/courses/30/lessons/42888 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 오류 부분을 찾아보자~ nickname 갱신 부분 ! 닉네임이 갱신되는 경우는 두 가지 ! 1) enter 이 "Enter" 이면서 기존 닉네임과 이번 닉네임이 다를 ...
241. 최단경로 1) 어떤 전략(알고리즘)으로 해결? 다익스트라 2) 코딩 설명 메모리초과 다익스트라 개념 - 우선수위큐 (가중치 기준), BFS 플로이드와 다익스트라의 비교 - https://loosie.tistory.com/146 다익스트라 > - 다익스트라 알고리즘은 우선순위 큐 + BFS의 형태를 가지고 있다. 각 정점...
242. 기능개발 1) 어떤 전략(알고리즘)으로 해결? 큐 사용 ~! 2) 코딩 설명 리스트를 큐로 바꿔서 풀이 테케 1,5,6, 만 통과 progress 가 popleft 돼서 제거될 때, 그에 상응하는 speed 도 popleft 됐어야 하는데, 그것을 안해줬었다!
243. 타겟 넘버 1) 어떤 전략(알고리즘)으로 해결? DFS/BFS 2) 코딩 설명 https://school.programmers.co.kr/learn/courses/30/lessons/43165 두번째 재귀문까지 도달하지 않는 경우 발생함 dfs는 한 곳을
244. 2018 KAKAO BLIND RECRUITMENT 1차 다트 게임 1) 어떤 전략(알고리즘)으로 해결? 문자열 처리 2) 코딩 설명 예외처리 해줄 게 많아서 피곤했다. 그러나 그럴수록 조건 잘 정리해서 한번에 딱 했음 되는건데 졸면서 해가지고 쓸데없이 오래걸렸다. 설계를 잘하고 임하자
245. 비밀지도 1) 어떤 전략(알고리즘)으로 해결? 문자열 ㅓㅊ리 2) 코딩 설명 첨에 이 부분을 이렇게 써서 계속 틀리고 있었다 허허허 문제 조건 > - 어느 하나라도 벽인 부분은 전체 지도에서도 벽 지도 1과 지도 2에서 모두 공백인 부분은 전체
245. 캐시 https://school.programmers.co.kr/learn/courses/30/lessons/17680 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 큐 사용 힝 75 점~ 테케 11, 15, 18, 19, 20 wrong 아마도
246. 뉴스 클러스터링 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 난관1 이런 에러 난다고 나타남 why ? 리스트를 set으로 바꾸는 거 ㄱㅊ은데 원인 : 파이썬에서 List는 변동가능하기때문에, 만들어지지 않는 것인데요. 즉, List를 Tuple로 만들어줘야 set이 문제 없이 만들어진다. 출처: https://sundries-i...
247. 2021 KAKAO BLIND RECRUITMENT 메뉴 리뉴얼 1) 어떤 전략(알고리즘)으로 해결? 사전, 문자열 처리 2) 코딩 설명 문제를 처음에 잘못 파악해서 헤맸던 부분이 살짝 아쉽다. 사전을 이제 편하게 사용할 수 있어서 행복하다
248. 2018 KAKAO BLIND RECRUITMENT [1차] 프렌즈4블록 1) 어떤 전략(알고리즘)으로 해결? 탐색, 구현 2) 코딩 설명 설명 주석 단 것 테스트케이스 5,10번에서 틀리고 만다. 생각하지 못한 상황이 있나 제대로 검토해볼게 ~
249. 2018 KAKAO BLIND RECRUITMENT [1차] 추석 트래픽 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 일단 시작시간, 끝시간은 구했즤 그러나 난관들이 존재하지
250. 2018 KAKAO BLIND RECRUITMENT [1차] 셔틀버스 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 나의 설계과정, 요새 느끼는 건데 이렇게 손코딩해놓고 따라치는게 구현이 더 좋다. 저 보라색 글씨가 버스 시간 결정에 중요 포인트 였다. 문제만 이해하면 구현만 척척하면 되는 문제였다. 여기엔 쓰이진 않았지만, 처음에...
251. IOIOI 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 아래는 50점 풀이다. > 100점을 위해선 단일 for문을 이용해서 구현해야하는데 문자열이 규칙이 존재하기 때문에 단순 비교가 아니라 연산을 통해서 문자열을 찾아야한다. > IOI가 몇 번 연속되는지 갯수만 찾아서 체크하게 되면 N * 3 정도의 시간으로 문제를 풀 수 있게...
252. 괄호 변환 1) 어떤 전략(알고리즘)으로 해결? 그저 구현 2) 코딩 설명 그저..하라는 대로 하면 된드아 ! 처음에 문자열 뒤집어진다는게 순서 뒤집어지는 것이라구 오해함 꺄르르
253. 거리두기 1) 어떤 전략(알고리즘)으로 해결? 이것도 구현~ 2) 코딩 설명 31개 중 5개 틀린 83.5점 풀이 87 점 풀이 5 11 13 31 통과 안됨 TIP https://school.programmers.co.kr/questions/27106
254. 2019 카카오 개발자 겨울 인턴십 튜플 1) 어떤 전략(알고리즘)으로 해결? 문자열 처리 2) 코딩 설명 문자열 처리를 적절히 해주면 된다. 다른 분의 풀이 문제 분석을 안하고 들어갔더니 고려하지 못하는 부분들이 많았다. 무조건 태블릿에 설계하고 들어가자. ㅋㅋㅋㅋㅋ 너무 길고 쓸데없는 과정이 많았다 ㅠㅠ replace 기능을 사용해서 문자...
255. 케빈 베이컨 법칙 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 15 프로에서 시간초과 나는 풀이 걍 이건 30프로에서 틀려버린! 풀이
256. 프린터 1) 어떤 전략(알고리즘)으로 해결? 덱 2) 코딩 설명 주석 MAX 빌트인 사용할 때 리스트가 존재하는지 여부부터 IF 로 꼭 체크해주자
257. 탈출 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 메모리초과 너무 시간 오래걸림 치즈랑 비슷한 문젠데 좀 더 빨리 풀자 마니 반복하면 좋을 문제
258. 트리의 기둥과 가지 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 출처 : 출처
259. PPAP 1) 어떤 전략(알고리즘)으로 해결? 스택 ! 2) 코딩 설명 시간초과1 2프로 시간초과2 20프로 > 유형 확인 자료 구조 문자열 그리디 알고리즘 스택 이라고 한다. stack pop, push 가 시간을 많이 줄여주니깐 얘네로 replace 처리를 해주면 된다. pop, push 가 O(1) !! 아주 좋아 좋아 > 스택의...
260. 문자열 폭발 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 스택 시간초과1 - 2프로 시간초과2 - 47프로 스택을 사용하라 stack 의 pop, append 가 시간복잡도가 O(1) 이다. > 스택의 연산에는 다음과 같은 것들이 있다.
261. 뒤풀이 1) 어떤 전략(알고리즘)으로 해결? 이분탐색 2) 코딩 설명 4프로서 메모리 초과 ! 4프로 메모리초과 이제 놀랍지 않은 메모리 초과 ^^ 윗 방식들은 모든 경우의 수들을 다 가지치기 하는거여서 그랬던가봉가 오 이분탐색이었다 이분 탐색으로
262. 톱니바퀴 1) 어떤 전략(알고리즘)으로 해결? 구현 시뮬레이션 2) 코딩 설명 check 주변하는 부분에서 톱니바퀴를 돌리기 전에 검사해야하는데 돌려논 후에 검사하고 있어서 틀려주는 것이었음, 이것 순서 변경하면 되긴 하는데, 변경만하면 무한 에러가 나서 visit 로 이미 주변체크한 것은 가지 말아야 함
263. 전깃줄 1) 어떤 전략(알고리즘)으로 해결? DP 2) 코딩 설명
264. 후보키 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 마지막에 최소키 거르는 부분
265. A → B 1) 어떤 전략(알고리즘)으로 해결? 나는 bfs 그래프 이론 그리디 알고리즘 그래프 탐색 너비 우선 탐색 2) 코딩 설명 (1) 메모리 초과 visit 배열이 너무 커져서 나는 에러였다. (2) exit를 0으로 안해서 난 에러 - 런타임 에러 (NZEC) exit(0) 으로 프로그램 종료시키기 bfs 방문배열 너무 크게 하지...
266. 센티와 마법의 뿅망치 1) 어떤 전략(알고리즘)으로 해결? 힙 2) 코딩 설명 65%에서 틀리는 풀이 ㅇㅁㅇ
267. 퇴사2 1) 어떤 전략(알고리즘)으로 해결? dp 2) 코딩 설명 dp 로 두개를 검사 & 비교해줘야 하는데 바로 상담을 하는 경우와 상담을 하지 않는 경우 일케 두가지.. 메모리초과 근데 문제 유형 봤더니 dp 임 dp 는 브루트포스 방식으로 다 살펴보는 방식으로 봤을 때 뭔가 초과, 에바 상태이면 생각해내야 하는 기법이지....
268. 벽 부수고 이동하기 1) 어떤 전략(알고리즘)으로 해결? bfs 2) 코딩 설명 https://wtg-study.tistory.com/86 방문배열에, 지금 벽을 한번 부수고 방문한 경운지 여부를 넣어주기 위해서 삼차원 배열로 만들어주면 됨 방문 배열을
269. 이분 그래프 1) 어떤 전략(알고리즘)으로 해결? bfs, dfs 2) 코딩 설명 이분그래프를 이해하는 것이 오래걸리는 문제였다 출처 : 출처 단순 bfs, dfs 에서 조금만 더 꼬아서 문제를 내면, 의도를 파악하지 못하고 마냥 어려워하는 나의 모습이 너무 아쉽다. bfs, dfs에서 모두 조금씩 꼰 것에 불가하니~ 너무 겁먹지 말고 문제를...
270. 휴게소 1) 어떤 전략(알고리즘)으로 해결? 이분탐색 2) 코딩 설명 흐으음 예제 위 예제 넣었을 때 최솟값 답이 70인데 나는 72가 나오는 상황 어디서 얘가 잘못되는거지 들어오는 문자 리스트를 모두 정수로 바꿔버리기 초기 위 코드 적용 후
271. 쿼드트리 1) 어떤 전략(알고리즘)으로 해결? 분할정복 , 재귀 2) 코딩 설명 16% 틀림 16%
272. 그래프 최소비용 구하기 1) 어떤 전략(알고리즘)으로 해결? 그래프, 다익스트라 2) 코딩 설명 1) 틀렸던 풀이 : 시간초과 2) 보니깐 길이로 0 이 들어올 수도 있었다.. my 라는 배열을 만들어서 간선 만들어주는 리스트 추가 => 그러나 13%에
273. 경비원 - 구현 1) 어떤 전략(알고리즘)으로 해결? 구현 2) 코딩 설명 규칙 찾아내는 것의 고단함, 을 즐겨야하는데 말이야,, 아직은,, https://joanne.tistory.com/63 이 분의 규칙 참고
274. 병사 배치하기 1) 어떤 전략(알고리즘)으로 해결? DP! 2) 코딩 설명 출처 : 출처 (2) DP 는 늘 원리생각이 어려워!
275. 봄버맨 1) 어떤 전략(알고리즘)으로 해결? 구현 2) 코딩 설명 문제 조건을 꼼꼼히 안 읽었었다! 대충 살면 몸이 고생하네~ 이제부터 프로그래머스 방식으로 백준을 풀기로 했다 ! 함수로 나눠서,,,
277. moo game 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 (1) 9pro memory exceeded error 메모리 초과
276. 행복 유치원 1) 어떤 전략(알고리즘)으로 해결? 그리디, 정렬 2) 코딩 설명 (1) 4프로에서 틀리는 풀이
278. 효율적인 해킹 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 python from collections import deque import sys n,m = map(int, sys.stdin.readline().split()) dict = {} # 관계 결과 담아줄 사전 (인접 노드) q = deque() # dfs 돌려줄 스택 re...
279. 거북이 1) 어떤 전략(알고리즘)으로 해결? 구현 2) 코딩 설명 출처 : 출처 내 풀이와 비교해서 내 풀이의 부족했던 점 ! 나는 모든 경우의 수를 이차원 배열로 해서 저장했었는데, 그럴 필요가 없었네!!! 넓이를 어떻게 구하지에 대한 생각이 부족했던 점 구현을 좀 더 효율적이게 생각하지 못한 점 > 넓이 : ((가장 큰 x좌표)-(가장...
DP , 플로이드 워셜, 점화식과 3중 FOR문 기억해
281. 풍선 맞추기 1) 어떤 전략(알고리즘)으로 해결? 그리디 - O(N) 2) 코딩 설명 주석으로 설명을 달았다. 처음에는 왼쪽부터 검사하긴 하는데 왼쪽부터 꼭 터뜨리지 않아도 생각했어서 약간 헤맨 부분이 아쉽다.
282. 컨베이어 벨트 위의 로봇 1) 어떤 전략(알고리즘)으로 해결? 구현 2) 코딩 설명 주석 설명 내구도가 줄어드는 경우마다 이 내구도가 0 에 도달했는지 체크해주었다. 문제 설명이 약간 아리까리한게 많아서 구현하는데 오래걸렸다. 구현은 문제 잘 읽는게 70프로라고 본다.
283. 큰 수 A+B 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 > - in_dict[나] = 들어올 때 내 앞에 있는 애들을 저장 out_dict[나] = 나갈 때 내 앞에 있는 애들을 저장 => indict에 있던 애들이 outdict 에 없으면 내가 걔네 추월한 것임 => indict -outdict 했는데 길이가 0 이상이라면 내가...
284. 알파벳 1) 어떤 전략(알고리즘)으로 해결? dfs 로 해결 2) 코딩 설명 주석 설명 bfs 로 접근 , 근데 메모리도 그렇고 visit 처리 제대로 안해주는 등의 문제로 인해 틀렸다. (2) dfs 로 접근했는데 시간초과 boardr+disr[i]]
285. 토마토 1) 어떤 전략(알고리즘)으로 해결? BFS 2) 코딩 설명 주석 설명 (1) 87% 에서 틀렸다고 뜸 => 반례 이 부분에서 -1도 프린트 되고 final_day 도 프린트돼서 틀리고 있었음, 적절히 exit(0) 해주었다! 답 : 내 출력 : 파이썬 런타임 에러 (NZEC) 은 exit(0) 이 아닌 다른 숫자로 지정해줄 시...
286. 택배배송 1) 어떤 전략(알고리즘)으로 해결? 다익스트라 (최소비용) 2) 코딩 설명 (1) 38프로까지 갔다가 틀린 풀이 다익스트라는 초기화 무한대, 우선순위 큐 사용이 핵심 ! defaultdict 초기화 방법 > int_dict = defaultd
287. 배열탈출 1) 어떤 전략(알고리즘)으로 해결? > 다이나믹 프로그래밍 그래프 이론 데이크스트라 2) 코딩 설명 (1) bfs 로 접근하려고 했는데 메모리 초과 큐에 너무 많이 넣어서 그런 것으로 추정 (2) heap (min) 으로 구현 & while 문 제거했는데도 여전히 시간초과 (3) 코드 간소화 - 여전히 시간초과 ! > 다익스트...
288. 크게 만들기 1) 어떤 전략(알고리즘)으로 해결? 스택, 그리디 2) 코딩 설명 내가 들어가려 할 때 내 이전엔 나보다 작은 애들은 있을 수 없다. 그림처럼 꺾이는 순간이 발생하면 안되기 때문이다. 근데 예외처리 해주어야 하는 부분은 맨 마지막 요소이다.
289. 집합의 표현 1) 어떤 전략(알고리즘)으로 해결? > 자료 구조 분리 집합 - union & find , Disjoint set (서로소 집합) 2) 코딩 설명 유니온 파인드 구현 & 주석 설명 (1) 21프로 - 메모리 초과 ! 합집합인 애들을 모조리 쌩으로 더하다보니깐 자연스레 메모리초과가 나는 것이라고 생각합니다. (2) 5프로 - ...
290. 옥상정원 1) 어떤 전략(알고리즘)으로 해결? 스택 그리디 2) 코딩 설명 2023 0106 풀이 - 이번엔 해설 안보고 풀었다 ㅎㅎ 관점 : 나(i번째 빌딩)를 볼 수 있는 빌딩의 수를 누적해서 더하기 stk 에 맨 앞 빌딩부터 담아준다. i번째 빌딩차례 때 stk(내 앞에 있는 빌딩들) 중 나를 지켜볼 수 있는 (나보다 큰 애들) 건물만 ...
292. 음악프로그램 - 위상정렬 1) 어떤 전략(알고리즘)으로 해결? 위상정렬 > 방향성에 거스르지 않게 순서대로 나열 - 위상정렬 2) 코딩 설명 주석 설명 18 프로에서 틀렸었습니다. 그 이유는 outch 에서는 중복으로 등록되는 관계에 대해서 set 자료구
293. 최소 스패닝 트리 1) 어떤 전략(알고리즘)으로 해결? MST (Kruskal) 2) 코딩 설명 mst 크루스칼 방식은 최소 스패닝 트리를 구성하는 것입니다. 스패닝 트리란 모든 노드들이 이어져있게 하는 상태를 의미하는데, 이 노드들을 이을 때 가장 최소의
294. 플로이드 2 1) 어떤 전략(알고리즘)으로 해결? 플로이드 워셜, 다익스트라 알고리즘 최소 비용으로 경로 구하는 것 2) 코딩 설명 2-1 ) 플로이드 워셜 플로이드 워셜은 DP 방식 dp 의 초기값을 무한대 (가장 큰 값) 로 설정해줍니다. 이후 3중 FOR문을 통해서 dp로 지금 dp 에 저장된 경로를 갱신시켜주는 방식입니다. 주의해야...
295. 수 묶기 1) 어떤 전략(알고리즘)으로 해결? 그리디 2) 코딩 설명 그리디의 특성 상 정렬시키고 푸는 건데 예외 사항들이 좀 많았던 문제였습니다. 3프로에서 틀린 풀이 7프로에서 틀린 풀이 위 코드 반례 아하 !! 보니까 zero cnt를 0일 때뿐만 아니라 그냥 증가시키고 있었습니다. 이 부분만 수정하면 되겠습니다. 조건을 제대로 설...
296 미세먼지 안녕~ 1) 어떤 전략(알고리즘)으로 해결? 구현, 시뮬레이션 ! 2) 코딩 설명 구현 , 시뮬레이션인데 살짝의 bfs를 곁들였던 문제입니다. 까다로운 부분은 배열을 회전시키는 부분에 있다고 생각합니다. 저는 배열을 회전시킬 때 행같은 경우는 큐를 사용해서 비교적 쉽게 회전시켰으나 열을 이동시켜야하는 경우를 다루는 것이 상당히 어려웠습...
297. 최소비용 구하기 2 1) 어떤 전략(알고리즘)으로 해결? 처음에 플로이드 워셜, 그러나 시간초과 다익스트라 2) 코딩 설명 다익스트라에선 next-node가 갱신된다는 것은 now-node를 거쳐 next-node에 온다는 것입니다. 따라서 next-node
298 부분합 1) 어떤 전략(알고리즘)으로 해결? 투포인터 2) 코딩 설명 start, end 는 둘다 처음에 0을 가리키도록 설정합니다. 현재 start,end 를 통해 나온 부분합이 조건에 맞는 아이인 지 확인하고 부합하지 않다면 포인터를 옮겨줍니다. 1)
299. 접두사 찾기 1) 어떤 전략(알고리즘)으로 해결? 본래 문제의도는 트라이, 이분 탐색 느낌입니다. 저는 어쩌다보니 startswith으로 해결했습니다. 2) 코딩 설명 (1) startswith : 시간복잡도 = 636ms (2) 해시테이블 느낌과 비슷하게 구현 : 이 부분은 블로그 로부터 알아냄 ! 시간초과 (이중 FOR문) 특히 문...
300. 큰 수 A+B 1) 어떤 전략(알고리즘)으로 해결? 다익스트라 2) 코딩 설명 > # 주어진 두 정점은 반드시 통과하며 1번 정점에서 N번 정점으로 최단 거리 후보는 두가지가 있다. 최단 거리 후보 1번 - v1 - v2 - N 최단 거리 후보 2번 - v2
127. 큰 수 A+B 1) 어떤 전략(알고리즘)으로 해결? 그래프 이론 브루트포스 알고리즘 그래프 탐색 너비 우선 탐색 깊이 우선 탐색 2) 코딩 설명 주석 (1) DFS 풀이 - 메모리 초과 (2) BFS - 73%에서 틀렸습니다. > 비 높이가 1부터 시작한다고 생각했는데, 비가 오지 않는 0부터도 생각해줬어야 했다! * * 비가 오지 않는...
304. 상근이의 여행 1) 어떤 전략(알고리즘)으로 해결? MST / 크루스칼 2) 코딩 설명 (1) 메모리 초과 - visit을 매번 copy() 하는 이슈 (2) BFS 접근 - 25%에서 틀림 처리 airplane, visit 수는 실시간 공유되는 것 !
305. 누적합 유형들 (1차원, 2차원) 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 (1) 1차원 누적합 (2) 2차원 누적합
306. 서강 그라운드 1) 어떤 전략(알고리즘)으로 해결? 다익스트라, 플로이드 워셜 2) 코딩 설명 오늘 스터디원분들의 풀이를 보았는데 각 지역까지의 최단 거리를 구하면 되는 거였습니다. 최단 거리를 구현하는 것으로 풀이를 변경하겠습니다. 최단 거리를 이용해서
307. 신입사원, 그리디 1) 어떤 전략(알고리즘)으로 해결? 그리디 2) 코딩 설명
308. 지름길 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 1. 인덱스 에러 발생 문제 조건에서 노드가 10000개 미만이라 했기에, 10000노드에 대한 정보로 shortes와 graph 를 구성해주었다. 또한 연속적인 직선길이라서 default 로 처음에 graph 에 현재 노드가 i이라면 다음 노드로는 무조건 갈 수 있으니, 다음노드 ...
309. 나무 자르기 1) 어떤 전략(알고리즘)으로 해결? 이분탐색 2) 코딩 설명
310. 전기가 부족해 1) 어떤 전략(알고리즘)으로 해결? 크루스칼 2) 코딩 설명 크루스칼 알고리즘을 정말 까먹고 있었다 ! 크루스칼 정리 블로그를 통해 내용 다시 복습 ! 크루스칼 알고리즘 두번째 요소 기준으로 정렬
311. 대표 선수 1) 어떤 전략(알고리즘)으로 해결? two pointer + heap 2) 코딩 설명 여러 집단에서의 투 포인터 각 집단에서 뽑아온 것들 중 가장 작은 것들을 heap 에다가 넣어놓고, 이 heap에서 가장 작은 것을 빼고, 그 뺀 집단에서 하나 다시 충당하고, max 를 갱신하면서 while 문을 진행한다 투포인터의 응용을 제대로...
312. 백양로 브레이크 1) 어떤 전략(알고리즘)으로 해결? 플로이드 워셜 2) 코딩 설명
313. 불 (another version) 1) 어떤 전략(알고리즘)으로 해결? 하나의 큐에서 가장 먼저 불의 위치를 저장하고 마지막의 상근이의 위치를 저장하는 식으로 한 queue에서 이를 해결한다. 우선 불을 움직이고, 사람을 움직이는 순서로 진행한다. 2) 코딩 설명 1. 12 프로에서 틀리는 문제 반례 > 불이 옮겨진 칸 또는 이제 불이 붙으...
314. 부분합 1) 어떤 전략(알고리즘)으로 해결? 단순하게 for문으로 체크할 수도 있겠지만 이는 이중 for문을 사용하기에 시간초과에 걸리게 된다. 이중 for문을 회피하고, 최적화된 시간 안에 접근할 수 있는 투포인터,누적합 방식으로 접근해야 합니다. 2) 코딩 설명 문제를 제대로 읽지 않고 임해서 자릿수를 의미한다는 것을 잘못 접근해 조금 헤맸...
315. 골목 대장 호석 - 효율성 2 1) 어떤 전략(알고리즘)으로 해결? 2) 코딩 설명 시작 점으로부터 도착점까지 가는동안 내야하는 "최대 요금의 최솟값"을 구해야 하는데 는 흔히 이분탐색에서 자주 나타나는 "최대의 최소화"꼴입니다. 따라서 "최대 상한 요금이 X원일 때, 시작점으로부터 도착점까지 C원내로 갈 수있는가?"라는 결정함수를 작성해 이분...
323. 네트워크 1) 어떤 전략(알고리즘)으로 해결? dfs 2) 코딩 설명 dfs 를 통해서 한번에 visit 한 곳들을 하나의 사이클로 분류해주었습니다. 옛날에 dfs 배울 때 헷갈렸던 포인트가 어떤 문제에선 visited 를 체크했다가 풀고, 어떤 문제에서