1. 로또 최고 순위와 최저 순위 2. 처음에 False 대신 0을 줬더니 zero가 들어간 구문들에서 0이 안찍히는 문제 발생. 파이썬에서는 True 1 False 0 이 안되는 줄 알았는데, 3.0 ver 부터 된다고 한다.. 3. 인형 뽑기
swift로 코테를 풀었는데 채점도 다 됐는데 프로그래머스 내부적인 오류가 발생했다고 하면서 진행이 안됐다. 혹시나 해서 C로 풀어보니까 바로 진행됐다.. 뭐지..? 그런데 swift로도 풀었다고 체크되어 있어서.. 그냥 넘어가기로 했다. 1. 내적 .cpp,
문제 링크 / 풀이.py, 풀이.swift 3단계랑 4단계에서 index error 나는거에서 진짜 더럽게 헤맸다... 처음에는 .. 이 두번 나오면 첫번째 것을 삭제하도록 아래처럼 체크를 했더니, 중간에 문자열 길이가 바뀌니까 당연히.. index error 가 났다
문제 / 풀이.py, 풀이.cpp, 풀이.swift 어렵지 않은 문제였다. C를 사용할 때는 배열을 0~9 순서대로 넣어서 만들면 index와 값이 일치하니까 whole_numbersnum = 0 으로 만드는 방법을 이용했다.
문제 / 풀이.py코테를 응시해서 그 날 풀었던 단 한문제라...... 기억하고 있었다. 그 때는 거리 계산을 다르게 했었는데, 이번엔 좀 더 깔끔하게 한 것 같다.
문제 / 풀이.py, 풀이.swift
문제 / 풀이.py, 풀이.swift for문을 돌려서 3개를 뽑기가 싫어서... 다른 방법을 강구해봤지만 내 지식으로는 이게 최선인 것 같았다. 다른 사람들의 답변isPrime 도 루트까지 도는거 말고
문제 / 풀이.py, 풀이.swift
문제 / 풀이.py, 풀이.swift 푸는데 35분 정도 걸렸다. 알고리즘 자체는 어렵지 않게 생각해낼 수 있었는데, enumerate, list, value 기준 sorted 쓰는게 생각이 안나서 헤매다가 결국 검색해서 찾았다.
문제 / 풀이.py풀이 1. 처음에는 for문을 박박 돌렸다.근데 효율성에서 전부 실패했다. 아무래도 participant 수를 n이라고 하면, completion 은 n-1 이라 O(n^2)이 되었을테니깐...
문제 / 풀이.py뭔가 후위표기식을 이용해야겠다는 생각이 들긴 했는데, 기억이 안나서 그냥 배열로 이용했는데 이 문제는 그렇게 풀어도 충분했다. 그런데 다른 사람들 풀이를 보니...정규 표현식... 진짜... 깔끔하다...
문제 / 풀이.py선생님이 정규표현식 문제라고 힌트를 주시기도 했지만!!! 깔끔하게 잘 푼 것 같다. 안그랬으면 또 for문 돌릴 생각만 했을듯.
문제 / 풀이.py, 풀이.swift
문제 / 풀이.py
문제 / 풀이.py처음에는 그냥 글자수 별로 잘랐었는데, 제출하니까 통과가 안되는걸 보고정규표현식으로 처리를 할 수 있지 않을까? 하고 uid 포맷 만들고 name 포맷 만들고 findall 해보니까..? 어..? 그냥 split 하면 되네...? 하고 마지막에 고쳤다
문제 / 풀이.py
문제 / 풀이.pyset이 있어서 너무 쉽게 풀었는데, set이 없는 C언어를 썼다면..? 배열을 정렬한 다음에 for문을 돌면서 새로운 배열에 앞에부터 저장을 하는데, 안에 중첩 for문으로 배열을 탐색해서 해당 배열에 이미 저장된 종류 번호라면 저장을 안하는 식으로
문제 / 풀이.py
문제 / 풀이.py
문제 / 풀이.py처음에 정렬해서 넣으면 당연히 마지막의 결과가 오름차순이 될 거라고 믿고 넣었더니 2개의 케이스가 통과가 안됐다. 당연히 안떠올라서 질문 탭에서 힌트를 찾아서 ... 정렬해봤더니 바로 통과가 됐다.
문제 / 풀이.py여기서 더 줄일 수 있는 방법이 있을까 했는데, 처음에 {}를 한겹 벗긴 후, split을 }, 기준으로 했는데, {}를 두겹 벗긴 후 },{ 기준으로 하면 정규표현식을 사용할 필요가 없다!!sorted 대신 arr.sort(key = len) 을 사
문제 / 풀이.py
문제 / 풀이.py다른 사람의 풀이 중 찢었다고 생각한 것.. 말 그대로 찢었다..
문제 / 풀이.py처음에는 그냥 +1 하면 되는거 아닌가? 했는데 아 아니지.. 라는걸 깨달았다. 소수이면 +1 아니면 나눠보는 것도 괜찮은 방법이지 않을까?
문제 / 풀이.py
문제(https://programmers.co.kr/learn/courses/30/lessons/42626heap 사용하는 방법이 기억 안나서 찾아봤다. heapq는 기본적으로 minheap 이라고 한다.heap을 사용하는 것 보다.. 중간 로직이 더 어려웠다
문제 / 풀이.py정규 표현식 풀이for문다른 사람의 풀이
문제 / 풀이.py아무 생각이 안나~ 하는 바람에 이렇게 풀기는 했는데.. 아마 같은 문제에서 사람 수도 입력받아서 푸는걸로 문제가 바뀌면.... 비효율적인 코드가 아닐까 싶다.
문제 / 풀이.py그냥 for문을 돌리는 방법으로 풀었다. 시간 복잡도 검사도 없고 1도 껴있어서 그냥 저렇게 풀었는데,이런식으로 num == 1 일때 1로 빼버리고, 나머지는 1과 자기자신은 무조건 들어가니까 두개 줄이면... 지금 생각해보니 시간 복잡도가 비슷할 것
문제 / 풀이.py
문제 / 풀이.py처음에는 A~Z 까지를 배열로 선언한 다음에 배열 개수로 나머지 구해서 하려고 생각했는데, 아무리 생각해도 알파벳 배열을 하나하나 치는게 너무 귀찮아서, 아스키 코드를 이용하기로 했다.그래서 해당 글자부터 A까지의 차이 (몇 번째 글자인지) 를 계산하
문제 / 풀이.py문제가 간단하기도 했지만 한줄로 끝나니까 실무에선 이렇게 쓰지 말라고 하셨지만 3항 연산자를 이용하여 멋지게 푼 느낌이다.
문제 / 풀이.py 11번 테스트 케이스가 문제였는데, 94, 96, 3, 3 을 넣어보니 이상함을 알 수 있었다.Math.ceil 을 해야하는걸 int == Math.flo
문제 / 풀이.py 버려지는 부분이 몇개인지를 찾는게 관건 솔직히.. 혼자 힘으로 찾지는 못했다. 일단 생각의 흐름대로 정리해보면, 1. 늑 모양이 반복되네? 규칙성이 있긴 하겠다. 삼각형으로 생각을 해봤는데 그건 힘들어서 사각형으로 다시 돌아와서 생각했다.
문제 / 풀이.py 조금 많이 헤매서 다른 사람들 풀이를 조금 검색해보고 풀었다. 처음에는 3진법 이랑 비슷하네. 3진법으로 바꾸고 0이 나오면 앞의 숫자까지보고 4로 처리를 하면 되겠다는 생각을 했는데, 생각보다 쉽지 않았다. 다른 사람의 풀이를 검색해봤더니 3
문제 / 풀이.py
x만큼 간격이 있는 n개의 숫자 핸드폰 번호 가리기 하샤드 수 평균 구하기
콜라츠 추측 / 짝수와 홀수 / 제일 작은 수 제거하기 /
문제 / 풀이.pyLeo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크
문제 / 풀이.py전에 눌렀다가 후위 표기식 변환하고 계산해야하는 문제인건 알겠는데 내가 후위 표기식 변환하는걸 잊어버렸네.. 게다가 연산자 우선순위도 알아서 바꿔야된다고...? 어케 풀어 하고 살포시 뒤로 가기를 눌렀었던 문제인데, 이번에는... 집념으로... 풀었다
문제(https://programmers.co.kr/learn/courses/30/lessons/81302처음에는 요즘 정규식 풀이에 맛이 들려서 정규식을 이용해보려고 시도했다.한줄에서 PP POP 라는 패턴이 나오면 안된다는 것은 알겠는데,대각선 패턴인POX
문제 / 풀이.py 1. 시간 초과 난 답. 이렇게 해보고 직접 조합을 구현해보려고 했는데, 시간 복잡도가 같을 것 같아서 일단 패스. 2. sort sort 를 이용해야할 것 같아서 sort 를 이용했다. 처음에는 을 이용했다. 첫번째 숫자가 크면 먼저 가
문제 / 풀이.py문제 / 풀이.py
문제 / 풀이.py처음에는 아랫 줄만 사용했는데, 처음 놓여진 순서에서 2번째 문자 기준으로만 정렬이 되어서, 정렬을 하고, 문제에서 주어진 index 를 기준으로 다시 정렬을 했다.
문제(https://programmers.co.kr/learn/courses/30/lessons/42860진짜 열심히 풀었는데.... 반이나 계속 안됨...일단 내가 파악한 것은 A 가 연속으로 나올 때가 관건인 문제였다. 내가 짰던 알고맂므의 문제는, 문제에
문제 / 풀이.py전에는 엄청 헷갈렸는데 딕셔너리를 잘 쓰게 되니까... 쉽게 풀 수 있었다. 하지만 이런 개멋진 풀이를 하기 위해선... 아직 멀었나보다.
문제 / 풀이.py내가 봐도 웃김... 어딜 가서도 절대 이렇게 안짤듯...일단 핵심 아이디어는배열로 비교 해서는 절대 통과를 못하니.."-" 를 포함해서 모든 과목을 더한 문자열을 key 로 가지는 dict 를 만들어서 찾는 것이었다.그런데 그렇게 해도 그냥 선형탐색
신규 아이디 추천 문제를 풀면서 정규표현식을 알고 푸는 것과 모르고 푸는 것이 천차만별의 차이가 있다는 것을 느꼈다. 그래서 정규표현식에 대해 한번 정리해두고 앞으로 알고리즘 문제를 풀 때 사용하려고 한다!!! > . [] \d \s \w > \* + {} ? >
문제
문제
문제처음에 생각한 것.. 그냥 전체 비교..시간 초과..진심으로 스택을 여기서 어떻게 쓰지 싶어서 인터넷 찾아서 참고했다... 보고 보니까 옛날에 푼 문제 중에 비슷한 유형 있는데... 조금만 쉬어도 이렇게 기억이 안날수가...🫠🫠🫠
문제
문제
문제
문제 문제
입력첫 줄에 학생 수 N(3≤N≤30,000)이 주어진다.둘째 줄에는 N개의 점수가 공백으로 구분되어 ID 순으로 주어진다. (각 점수는 0 이상 10억 이하)맨 먼저 입력된 점수는 ID가 1인 학생의 점수이고, 이후부터 순서대로 ID가 1씩 증가한다.870 30 7
문제
문제이진 탐색은 기억 나는데return binary_search 안하고 그냥 binary_search 부르는 재귀 만들었다가 출력이 너무 많이 찍혀서 놀라고mid + 1 로 출력했더니 start, end 조건 안맞아서 또 많이 출력돼서 놀라고...진짜 내 지식 다 어디
입력첫째 줄에 N 이 입력된다. (1≤N≤200,000)둘째 줄에 배열에 저장 되어있는 N개의 숫자가 순서대로 공백으로 구분되어 입력된다.셋째 줄에 M 이 입력된다. (1≤M≤200,000)넷째 줄에 M개의 탐색할 숫자가 순서대로 공백으로 구분되어 입력된다.(이 숫자는
문제일단.. 이진 탐색 챕터에 있었어서 그렇게 풀어야겠다고 생각했더니... 아무 생각이 안나서 전체 탐색으로 풀고 나서 다시 생각해봤다.전체 탐색 코드이진 탐색 코드생각해도 모르겠어서 결국 다른 풀이 참고해서 풀었다.lower, upper 가 아직도 겁나 헷갈리고...
문제그냥 봤으면 바로 못풀었을 것 같은데 도약 문제 풀고 푸니까 좀 더 쉽게 풀렸다!!
문제 혼자 해봤는데 왜 안되는지 모르겠는 코드... 8 10 1 1 7 9 00000101 11001000 10000010 01101010 00000110 01010000 01110110 10000100 10011101 01000001 에 대한 출력이 16 이어야
문제처음에는 tcnt > board\[tr]\[tc] 로 같은 것을 포함 안했더니 답이 다르게 나와서 고침.그랬더니 주어진 test case 에 대한 답이 제대로 나와서 기대했으나39 439 27 4 366이 5로 나오는 문제가 있었는데, 처음 입력에서 100000
문제count 를 이용해서 while q 의 종료 조건을 준다는 생각까지는 했는데,count 를 for 문 안쪽에서 안했더니 바로 거를 수 없는 케이스들이 생겨버렸다.
문제route 출력이 어려웠다.그냥 index 1부터 시작할걸.. 0부터 시작한다고 설쳐서 더 어려웠다.
영희는 자외선이 피부에 좋지 않기 때문에 이동 시 자외선에 노출되는 것을 최소한으로 하고 싶어서 가는 길의 자외선 양을 모두 조사하였다.값이 제 각각이어서 어떤 경로로 가야 좋을지 난감한 영희를 도와주자.N\*N 모양의 장소의 모든 길의 자외선 양이 주어지고 영희는 상
문제DFS 오랜만에 풀었더니 order 배열 따로 두고 마지막에 출력하는게 기억이 안나서 헤맸다.
덧셈을 못하는 철수를 공부시키기 위해 자연수들을 주고, 그 중에 몇 개의 수를 골라서 그 합이 K가 될 수 있는지 알아보라고 시켰다.철수 어머니가 자연수들을 무작위로 선택해서 본인도 가능한지 아닌지 모르고 있다. 어머니가 채점을 할 수 있게 주어진 문제의 답을 찾아주자
문제
문제
문제 DFS 섹션에 있었지만 이 문제를 DFS 로 어떻게 푸는지는 감이 안와서... > DFS 방법 강의 보고, 어차피 DP 도 언젠간 공부해야하니까 DP 코드를 참고해서 풀었다.
문제
문제맞게 짰는데..? Recursion Error 가 나서 BFS 로 다시 풀었다.
문제BFS 함수를 일반이랑 돼지용으로 2개 만드는 방법도 있었을 것 같은데, 그냥 배열을 copy 해서 진행했다.근데 복사를 하는데...? 왜 같이 바뀌지...? copy on write 가 아닌가...? 하고 찾아봤더니 아니란다...로 해야한단다...
문제처음에는 연결성분마다 첫번째 4고 하나씩 늘어갈때마다 +2 에 구멍이 있으면 -4 하면 되는거 아닌가? 라고 생각했는데,ㅇㅇㅇㅇㅇ ㅇ ㅇ ㅇㅇㅇ이렇게 생긴게 반례 16인데 위의 식으로 풀면 2 \* 11 - 4 = 18https://aronglife
농부 희찬이의 N(1≤N≤80,000)마리의 소들은 "bad hair day"를 맞이하였다. 각 소들이 자신들의 촌스런 머리 모양을 부끄러워 하자, 희찬이는 소들이 다른 소들의 머리 모양을 얼마나 알 수 있는지를 알고자 했다.i번째 소들은 키가 hi(1≤hi≤1,000
문제역시.. 전체 탐색 말곤 감이 안와서 풀이 참고해서 풀었는데 이분 탐색인거 진심 감도 안왔음..........아무튼 다른 풀이를 참고하여 동물 하나하나를 기준으로 해당 동물을 맞출 수 있는 사대를 찾았다.1\. 사대와 동물과 거리가 L (사격 거리) 이하임 : 맞출
문제 BFS 로 방문하면서 거기까지 간 거리를 입력했는데... W 0 1 W W W 0 2 1 2 W 3 2 1 3 W 3 W 4 W W 4 W 4 W 5 6 7 W 6 5 W 6 W W 이렇게 되고 있어서.... 7이 최댓값으로 잡힘... 양쪽으로 분기 타는게
문제
문제드디어 답 안보고 스스로 풀었다.일단 치즈가 없어진다고 하고 구멍에는 영향을 안받는다고 하니,둘레 문제처럼 바깥에서 접근해야할듯.공기의 상하좌우에 치즈가 있으면 0으로 만들면 되네!하고 시작했는데 2에서 0이 된 치즈에 다시 접근하면서 이상해지는 문제가 발생했다.
문제처음 딱 봤을때는 겹치는 부분을 다 파악해서 빼야하나? 했는데 색종이가 10장까지 들어갈 수 있다는걸 보고 배열에 표시하는 방향으로 바꾸었다.
처음에 당연히 시간 비례 주차장인 줄 알고 시간 + 무게 다 넣고 짰는데... 아니었따. 시간 계산을 위해 idx 를 포함해서 짰는데, 해당 부분을 다 없애버리면 될 것 같다.
문제그냥 편의점을 주어지는 순서대로 전부 간다고 생각.\-> 검색해서 찾아보니 편의점의 안갈 수고 있고, 순서를 바꿔서 갈 수도 있다..1000 보다 작다는건 위에서도 떠올렸었는데, 지도처럼 상하좌우로 갈 수 있다는 규칙이 있는게 아니라 그냥 전체 편의점으로 갈 수 있
문제왼 / 왼 오 / 오 를 버리는 경우를 전체 탐색한다고 생각했는데, 이렇게 하면 문제에서 상황이 그렇게 진행될 수 없는데 가지를 가버리는 경우가 생김...sys.setrecursionlimit(10\*\*6) 을 추가해서 파이썬 재귀 깊이를 바꿔주면 되는 거였다..
문제숫자근 1자리 수 인지 모르고 자릿수합 함수를 숫자근 함수라고 생각했다가 막혔다.
문제처음에 pass 면 시간 안가고 문제만 다음걸로 넘어가는 줄 알고 while 로 시작했는데 알고보니 아니어서.. for 문으로 짜도 가능할듯.
문제
문제Happy Number 이 아니라면 언젠가는 순환순열이 될 것임. -> 궁금해서 찾아봤더니 Happy Number 가 아닌 순환순열은 언젠가 4가 되는 성질이 있다고 함.
문제빙글빙글 탐색을 해서 찾았는데,3 412의 경우가 문제였다. 내 코드상 한번에 4개를 다 돌기 때문에, 한쪽 방향으로 탐색이 끝나고 나면 전체가 끝났는지 확인해야 함. 근데 4번이나 반복하는 코드를 써줘야하서 좀 구림... 를 해보았으나 그닥 만족스러운 정리는 아님
문제
문제
문제
문제
문제
문제둘레를 구하는 문제라 BFS 를 이용.그런데 안쪽에 생기는 구멍에 대한 둘레도 구해야해서, for 문으로 방문 안한 곳 기준으로 BFS 또 돌릴 수 있게 했다.
문제
문제이거 파이썬 코테 강의에서 봤던 문제인데 풀때마다 기억 안나더니 드디어 기억나서 이번엔 스스로 풀었다.
문제
문제마을을 하나씩 방문하면서 담을 수 있는거 다 담고 내릴 수 있는거 다 내리고4 4031 4 402 3 403 4 40이런 케이스만 있어도 답이 제대로 안찍힘.시작하는 마을 기준으로만 생각하면 안된다.그래서 시작 기준으로 생각하면 안된다는 것까진 알았는데,회의실 배정
문제 문제 > 농부 존은 소유하고 있는 소들의 사진을 찍기 위해 전문 사진 작가를 고용했다. 다양한 품종의 소를 소유하고 있는 존은 한 장의 사진에 모든 종의 소가 포함 되길 원한다. | N마리의 소가 모두 라인에 맞춰(즉, Y 좌표는 고정) 다양한 위치(즉, X
문제
문제가로로 이을 수 있을 때 까지 잇고세로는 그 때 겹치는 부분의 길이\-> 끊어지면 거기서부터 다시 구해서 배열에 넣어놓고 가로 최댓값 찾음.반례) 색종이-2 처럼 안끊어지고 다 이어져있으면요..? 근데 또 이어져는 있는데 두개씩만 이어져 있음\-> 그러면 가로에서
문제 스택 이용. 시간 초과.
문제
김철수 선생님의 반은 그의 반 N명의 학생들의 등수를 매기기 시작한 이후로 학생들 사이의 친구 관계 수가 급격히 떨어졌다. 등수 상 하위권 친구들은 상위권 학생들을 시기 했으며, 상위권 학생들은 자신의 성적을 걱정한 나머지 하위권 학생들과 친구가 되기 꺼려했기 때문이
문제 > 철수의 마을은 평지(0)와 호수(1)로 구성되어있다. 철수는 마을에서 가장 큰 호수가 차지하는 면적을 구하고자 한다. 이때, 호수는 상하좌우 대각선으로 연결되어 있으면 같은 호수이다. 입력 > 4 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 1 출
문제그냥 당연히 정규식이라고 생각해서 풀었는데,얼마전에 자료구조에서 공부한 문자열 매치 알고리즘을 통해서도 풀 수 있었따.
문제
문제처음에는 0.9~1.0 사이에 있는 숫자 개수를 구하고 각각 비교하려고 했는데,그렇게 하면 이미 비교된 것이 또 포함되어서 비교하는 경우가 생김.\-> 현재 것을 기준으로 0.9 미만인 것을 버리고, 0.9 이상 ~ 현재 것 까지 한번씩만 비교,그리고 index 더
문제논리는 맞는데, 잔디 구간이 10^18 이라 grass 배열로 바꾸지 않고 생각해볼 필요가 있을 것 같음...배열로 안만들고 풀었더니 memory 는 통과.근데 시간이 문제이므로, 이거에 대한 정리가 필요.이 아래의 반례 이 4개에서 d = 3 일 때 cow 개수를
문제
1033 8179이면 end 로 자리를 하나씩 바꿔서8033 1133 1073 1039 탐색을 했는데,테케 자체가1033 -> 1733 -> \~\~~ -> 8179이렇게 거치는거라 바로 end 에 있는 숫자로는 바꿀 수가 없음.종료조건 밑에 넣었더니 계속 이상해서
문제홍수 BFS -> 화가 BFS원래는 홍수는 \* 로만 체크하고 ch 배열을 따로 안두려고 했는데,로 체크하니까 계속 다 체크되어버려서..ch 배열 만들어서 몇초에 그 칸까지 침범하는지를 표시.홍수를 하나 바꾸고,cnt 가 바뀌는 순간이 한칸 이동해서 다음 걸로 가는
문제BFS 인데 가중치가 있음 -> Dijkstra처음에는 배열 가생이를 0으로 채워놓고도 걔네를 큐에 넣지 않고 시작해서 이상한 답이 나왔다.그리고 여기서는 가중치가 달라서 전부 다 계산해야하기 때문에 목적지 만났다고 return 해버리면 안됨. (1 일 때는 어차피
문제전에 풀었떤 정올 2097 : 지하철 문제와 비슷!!
문제A ~ Z a ~ z 를 0 ~ 25 26 ~ 51 에 대응시켜놓고,무방향 그래프를 그리는데 51 \* 51 짜리 배열을 이용하긴 싫어서딕셔너리로 출발점을 키로해서 (도착점, 거리) 배열을 넣었다.그렇게 넣은 다음에 BFS 로 탐색하는데 소가 있는 (대문자인) 모든
매일 아침, 농부 존은 일어나면 집에서 농장을 가로질러 헛간으로 걸어갑니다. 농장은 N(1≤N≤100)개의 필드로 구성되어 있으며 필드들은 각각의 길이를 갖는 M(1≤M≤10,000)개의 양방향 경로로 연결되어있다. 농부 존의 집은 필드 1이고, 헛간은 필드 N이다.
문제모래를 기준으로 돌다가 이미 지나가버렸는데 또 모래가 생기면 어떡하지...? + 시간은 어떻게 측정하지? 라고 생각했는데,이번 시간에 들어가는 것 (처음에 모래인 것 / 그 다음엔 첫번째 돌았을 때 무너져서 모래가 된 것 / 두번쨰 ...) 만 큐에 넣어서 돌리고,
문제처음에 고려하지 못한 것.1\. pang 이 하나 되면 바로 down 하는게 아니라 전체를 다 pang 한 다음에 한번에 down -> 그러다가 변화가 없어지면 끝2\. down 이 맨 끝에서만 이루어지는게 아니라 중간에서도 이루어질 수 있다. -> down 함수
문제
문제
문제더하기 문제와 구하는 값만 다르지 안의 로직은 똑같은 문제였다. DFS 도 오랜만에 하니까 기억이 안나....
문제일단 순서까진 생각할 필요가 없음. N 마리 소 중 어떤 조합을 태울 수 있는지만 생각하면 됨.지금까지 소의 합, 새로운 소 를 더했을 때 자리 올림이 발생하지 않으면 그 소를 태우고,발생하면 그 소는 안태우고 다음으로 넘어가본다.근데 이상해서 보니까..1\. ma
문제
문제스도쿠의 가로 세로 네모의 1~9 를 전부 체크해두고,거기서 가로 세로 네모에 전부 없는 숫자가 있으면 넣어서 DFS 를 통해서 전부 검사해보고,가로 세로 네모에 하나라도 숫자가 있으면 그 숫자는 검사할 필요가 없음.Python3 은 시간초과 나고Pypy3 도 아주
문제배, 사람을 순서대로 태우는데사람을 한 배에 태울 수 있으면 계속 태우고, 태울 수 없는 순간이 오면 다음 배로 넘어갔다.근데 그러면 이제 배를 어떤 순서로 남기냐에 따라서 남은 배의 최대 수용 무게가 달라져서..시간초과일 것 같다~ 라고 생각하면서 permutat
문제시간초과 때문에 check 함수를 하나 더 만들었다.
문제
문제보아하니 BFS 를 쓰면 되겠군 이라는 생각이 들어서 실행에 옮겼다.근데 일단 문제가 한쪽 방향으로 움직이면 그 쪽으로만 계속 움직이는거라,큐를 쓸 필요는 없을 것 같아서 큐는 쓰지 않았고,대신 지금 머리의 위치 head 를 가지고 있으면 되겠다 싶어서 head 만
문제처음 접근을 완전 헛다리 짚은 문제...DP 라고 생각했는데, a, b 의 범위가 너무 커서 아닐 것 같긴 했으나 다른 방법이 안떠올라서 고민하다가 찾아봤는데 BFS 로 푸는 거였다...근데 계속 50%? 쯤에서 틀려서 대체 뭔가 했더니,목표가 0 0 이면 바로 0
문제
문제DFS 로 접근했다.입력은 1월 1일 -> 1, 12월 31일 -> 365 로 만들 수 있게 바꾸어줌.일단 넣어도 공주 범위를 만들 수 없는거 애초에 빼고 시작하고,시작 날짜가 같다면 더 늦게 지는 꽃만 가지고 시작함.그래서 처음 넣는 꽃이면 s, e 갱신이미 꽃
문제처음에 한개 건너뛰는데 1번째랑 N번째만 처음 마지막으로 방문하면 되는 줄 알고 DFS 했다가 아닌걸 깨달았다. 그냥 거리 차이 구해놓고 해당거 빠지면 해당거와 양 옆이 이어진 거리 빼주고, 양 옆에 있던게 이어졌던거 생각하고 거리 구해주면 되는 간단한 문제였음.