[백준] 15684 사다리 조작 풀이 Python, Java
OnlineJudge2021. 9. 22. 01:17[백준] 15684 사다리 조작 풀이 Python, Java

문제 페이지 접근방법 백트래킹 이미 문제에도 명시가 되어 있듯이 정답이 3보다 큰 값이거나 불가능한 경우에 -1을 출력합니다. 즉, 재귀함수의 depth에 제약을 걸어 가지치기를 할 수 있다는 말입니다. 저는 depth가 3에 도달하게 되면 더 이상 재귀 함수를 돌지 않게 설정했습니다. 로직 2차원 Array 형태로 사다리 Map을 그려준다 우측으로 이동하는 사다리는 1, 좌측으로 이동하는 사다리는 -1을 넣어준다. 내려가는 사다리는 0이다. 모든 설치 가능한 구역에 사다리를 설치하는 브루트포스 문제이다. 그렇기 때문에 모든 구간을 순회하는 DFS를 사용한다. 각 사다리 별로 번호에 맞게 내려오는지 확인한다. 만약 맞다면, 정답을 갱신한다 만약 틀리다면, 가로 사다리를 계속해서 설치한다. Python C..

[백준] 2143 두 배열의 합 풀이 Python
OnlineJudge2021. 9. 19. 17:47[백준] 2143 두 배열의 합 풀이 Python

문제로 이동 접근 방법 누적합+이분탐색 카테고리여서 이분 탐색을 어떻게 사용할지 고민했습니다. 1. 전처리 배열 1개의 경우, 누적합을 구하기 위해 A[0] ~ A[n] 까지 배열을 순회하며 누적합을 넣어주지만 해당 문제를 이렇게 접근해버리면 안된다는 것은 알고 계실겁니다. # 일반적인 배열 1개의 누적합 arr = [0,1,2,3,4,5,6,7,8,9] for i in range(1,len(arr)): arr[i] = arr[i-1]+arr[i] # result : [0,1,3,6,10,15,21,28,36,45] 2개의 배열이기 때문에 이런 의문이 생길 수 있습니다. "각 배열의 비교 범위를 어떻게 선택할 것인가?" B 배열의 탐색 index가 하나 증가하게 되면 A 배열의 index는 처음으로 돌아..

[백준] 2573 빙산 풀이 Python
OnlineJudge2021. 9. 14. 00:47[백준] 2573 빙산 풀이 Python

문제로 이동 이번 글에서는 문제에 대한 설명과 풀이보다 골드 난이도임에도 불구하고 무려 11WA를 받게된 이유, 그리고 드디어 Solved 할 수 있었던 이유를 찾고 포스팅 했습니다. 혹시 "맞는데 왜 틀려" 늪에 빠져있다면 이 글을 보았을 때 도움이 될 수 있습니다😀 과거의 흔적 틀렸던 이유 1. RecursionError Python의 경우 재귀 함수의 깊이가 1000으로 고정되어 있습니다. 만약 1000번보다 더 큰 재귀를 돌기 위해선 Recursion을 설정해줘야 합니다. 5개월 전 당시엔 이를 DFS로 풀다가 놓쳤던 것 같네요 2. 시간초과 및 틀렸습니다 과거의 코드를 보니 빙산이 분리되는 구간에서 줄일 수 있는 로직이 보였고, 애초에 너무 복잡하게 생각을 했는지 코드가 직관적이지 못합니다 ㅠㅠ..

2022 KAKAO BLIND RECRUITMENT 1차 후기
후기/코딩테스트2021. 9. 12. 22:482022 KAKAO BLIND RECRUITMENT 1차 후기

자세한 문제 설명은 없습니다 테스트 환경 총 7문제 출제 9/11(토) 오후 2시 ~ 7시 (5시간) 프로그래머스에서 응시 IDE 사용 가능 후기 너무 오랜만이라 코딩테스트 감을 잃지 않았을까 걱정했었는데, 잃을 감이 없지 않았나..?는 생각이 들었습니다. 늘 코딩테스트 후엔 겸손해지는 것 같습니다. 확실히 상반기보다 난이도가 쉬워진 것 같았고 괜히 겁먹고 너무 어려운 알고리즘을 떠올릴 필요는 없었던 것 같습니다. 트리 관련 문제만 나오면 세그먼트 트리를 떠올리는 병(?)이 있는데 이번에도 역시나 세그먼트를 안써도 풀 수 있는 문제들이었습니다. 조금만 더 침착하게 접근했더라면 여유있게 6Solved를 했을텐데 많이 아쉬웠습니다. 끝나고.. 바로 4번과 7번을 제외한 문제 복기를 했고 imos라는 알고리즘..

[Spring] HikariCP Dead lock 벗어나기
Tech/트러블슈팅2021. 8. 13. 02:03[Spring] HikariCP Dead lock 벗어나기

22.06.04) 해당 글은 Dead Lock이 아닌 단순 커넥션 누수의 문제입니다. ※ Hikari, Connections pool, dead lock에 대한 설명이 포함되어 있지 않습니다 결론부터 말하자면 저의 경우엔 개발자의 실수였습니다. 체감상 2주 동안 걸쳐서 발견됐던 에러인데 막상 찾고보니 허무하기도 하고, 이와 동시에 커넥션 풀을 공부할 수 있어서 좋은(?) 기회였다고 생각합니다. 해결 방법은 가장 아래에 있습니다. 어떤 친구였나 spring-compose | 2021-08-05 13:05:52.412 WARN 7 --- [io-8080-exec-10] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: null spring-c..

SSAFY 합격후 생기는 궁금증들 및 Q&A
후기/SSAFY2021. 6. 29. 10:06SSAFY 합격후 생기는 궁금증들 및 Q&A

SSAFY 내 보안에 따라 강의 내용에 대한 설명은 없습니다. 맥북살까요? 싸피에서 불편함을 감수하고도 감성을 택하겠다 또는 미래를 위해(취업 이후까지 바라보고) 맥북을 쓰겠다 => 맥북 뭐 안되고 맥북 안될 수도 있다는 주의 듣기 싫다. 불편한거 딱 질색이다. => 그 외 노트북 정말 단골 질문입니다. 약간의 불편함을 감수할 수 있다면 맥북 쓰셔도 상관없습니다만, 매 시험이나 특정 행사때 "Windows 환경을 권장합니다" 문구를 자주 보실텐데 그 때마다 흔들리지 않을 자신 있으시면 맥북을. 맥북은 취업후에나 쓰겠다 하신다면 그 외 노트북을 구비하시는게 좋겠습니다. 합격 후 뭘 하면 좋을까요? 선택은 자유입니다. 알고리즘이나 언어 공부를 미리 하셔도 좋고 마음껏 노셔도 좋습니다. 저는 적당히 놀면서 백..

2021 Delivery Hero Korea 요기요 코딩테스트 후기
후기/코딩테스트2021. 6. 27. 01:212021 Delivery Hero Korea 요기요 코딩테스트 후기

모든 내용은 딜리버리 히어로 코리아의 방침에 따라, 문제를 유출하지 않는 선에서 기재되어 있습니다. 코딩테스트 환경 IDE 사용 가능 Codility 환경(참고 : 2021.06.21 - [풀이/코딜리티(codility)] - [Codility] Lesson4 PermCheck 풀이 Python) Codility이기 때문에 모든 문제가 영어 언어는 사전에 정해야하며 선택한 언어로만 코테를 칠 수 있음 (사전에 이메일로 확인합니다) 채점 결과 비공개(Testcase는 채점 됩니다) 제한시간 120분 총 3문제 포트폴리오를 함께 제출해야함 난이도 세 문제 모두 해결했으며 120분 중 72분 소요되었습니다. 문제가 영어로 나오기에 독해에 꽤나 시간을 쏟았습니다... ㅠㅠ 그나마 Codeforces에서 갈고닦은..

백준 1016 제곱ㄴㄴ수 풀이 Python
OnlineJudge2021. 6. 24. 00:25백준 1016 제곱ㄴㄴ수 풀이 Python

문제로이동 1016번: 제곱 ㄴㄴ 수 어떤 수 X가 1보다 큰 제곱수로 나누어 떨어지지 않을 때, 제곱ㄴㄴ수라고 한다. 제곱수는 정수의 제곱이다. min과 max가 주어지면, min과 max를 포함한 사이에 제곱ㄴㄴ수가 몇 개 있는지 출력한다. www.acmicpc.net 문제 설명 에라토스테네스의 체 응용 문제입니다. 최대 범위는 1백만, 최대 수는 1조이기 때문에 정수형(long long)과 시간초과에 주의해야 합니다. 제곱 수로 나누어 떨어지지 않을 때 제곱ㄴㄴ수라 한다. 제곱수는 아시다시피 아래와 같습니다. 2*2 = 4 3*3 = 9 4*4 = 16 ... 에라토스테네스의 체는 아래와 같습니다. 단순하게도 특정 범위에서 제곱수를 에라토스테네스의 체로 걸러내는 방식을 구현하면 됩니다. 즉, 2의 ..

[Codility] Lesson4 MaxCounters 풀이 Python
OnlineJudge2021. 6. 22. 00:29[Codility] Lesson4 MaxCounters 풀이 Python

문제로이동 MaxCounters coding task - Learn to Code - Codility Calculate the values of counters after applying all alternating operations: increase counter by 1; set value of all counters to current maximum. app.codility.com 목차 문제 설명 체감상 Lesson4 테스트 문제 중 해결하는데 가장 오래걸렸습니다. 입력 값으로 N과 배열 A가 입력됩니다. 최종적으로 N개 만큼의 카운터를 출력해야 하고 N=5일 때 (0, 0, 0, 0, 0)과 같은 형식으로 출력 이 카운터를 어떻게 연산하느냐가 관건입니다. 예제를 보며 기능을 설명하겠습니다. A[..

[Codility] Lesson4 MissingInteger 풀이 Python
OnlineJudge2021. 6. 22. 00:22[Codility] Lesson4 MissingInteger 풀이 Python

문제로이동 MissingInteger coding task - Learn to Code - Codility Find the smallest positive integer that does not occur in a given sequence. app.codility.com 목차 문제 설명 양수인 정수 중에서 배열에 없는 가장 작은 값을 출력하는 문제입니다. 너무 간단한 문제라 바로 예제부터 보겠습니다. [1,2,3]의 경우 배열에 없는 가장 작은 정수인 4가 나옵니다. [-1,-3]의 경우 배열에 없는 가장 작은 정수인 1이 나옵니다. [1,3,6,4,1,2]의 경우 배열에 없는 가장 작은 정수인 5가 나옵니다. 접근 방법 어쨌든 모든 배열을 탐색해야 하므로 O(N)의 시간 복잡도를 갖습니다. 입력 범위..

반응형
image