본문 바로가기

코딩테스트

(4)
[백준-2805] 나무 자르기 2805 문제는 처음에 굉장히 쉽다고 느껴졌다. 이분 탐색법을 적용하는 문제였는데 시간초과를 설명하기 전 이분 탐색법부터 차근차근 설명하도록 하자면 이분 탐색법: 탐색 범위를 절반씩 줄여가며 찾아가는 알고리즘으로 경계값이 중간 보다 위에 있다고 판단 된다면 그 (중간값 + 1) ~ 마지막값 에서 다시 탐색을 하고 경계값이 중간 보다 아래에 있다고 판단 된다면 그 반대로 진행되는 것이다 이해가 안간다면 wootool.tistory.com/62 이분의 블로그에 동영상으로 설명하고 있으니 참고하시길 바란다. 이렇게 금세 풀었지만 시간 초과라는 결과를 보게되었다. 결국 시간문제를 해결 했지만 이처럼 많은 사람들이 이 문제를 겪고 포기한거 같아 설명을 하기로 생각했다. 우선 readline()에서 대부분 let ..
백준 11724, 10451 (DFS) 11724 출처 : https://www.acmicpc.net/problem/11724 우선 연결 요소가 무슨 뜻인지 몰랐기 때문에 이해가 잠시 필요했다. ​ 이렇게 몇개로 묶였냐는 문제였다. ​ 코드 여기를 누르세요 ​ ​10451 출처 : https://www.acmicpc.net/problem/10451 또 여기서 다시 문제를 이해하자면 아래와 그림과 같고 여기서 위의 문제와 다른점은 한곳에서 하나의 선만 나가고 자기 자신으로 갈 수 있다는 것이다. ​ 코드 여기를 누르세요
벨만 포드 알고리즘 - swift youjean.tistory.com/25 2020 브랜디 코딩대회 '코드네임B' 후기 - swift 코딩테스트 2020 브랜디 코딩대회 '코드네임B' 이런 코딩 테스트가 저번 주말에 있었는데요 https://velog.io/@devgosunman/2020-%EB%B8%8C%EB%9E%9C%EB%94%94-%EC%BD%94%EB%94%A9%EB%8C%80%ED%9A%8C-%EC%BD%94%.. youjean.tistory.com → 브랜디 코테 후기를 올린 이전 포스팅 ​ 2020 브랜디 코딩대회 '코드네임B'의 3번 문제를 찾다가 이 알고리즘을 찾게 되었는데요 ​ 3번 문제의 답안(답)은 아래와 같습니다. struct Edge { var e = 0 var v = 0 init(e: Int, v: Int) ..
<swift> 코딩테스트 시간 초과 코딩테스트 연습을 하다보면 깔끔한 코드가 최고인것 처럼 고차함수를 남발하게 된다. 그러다가 2019 KAKAO BLIND RECRUITMENT 실패율 문제를 풀다가 시간초과라는 충격적인 결과가 나왔다. func solution(_ N:Int, _ stages:[Int]) -> [Int] { var fail:Dictionary = [Int:Double]() // 실패율 계산 후 저장 for i in 1...N{ // 도달한 수 let a = stages.filter{$0 >= i}.count // 클리어한 수 let b = a - stages.filter{$0 > i}.count // 실패율 let failCount = Double(b) / Double(a) fail[i] = failCount } // 실..