네이버 부스트캠프 웹·모바일 10기 베이직&챌린지 후기(+멤버십 합격)
·
회고
들어가기에 앞서 작성자는 작문능력이 그렇게 뛰어나지 않음을 알려드립니다.회고 전 이모저모더보기네이버 부스트캠프에 대한 이야기를 하기 전에, 부트캠프에 대한 저의 생각을 말하고자 합니다.컴퓨터공학과를 전공한 저로서는 부트캠프는 필요치 않다고 생각하여 곧바로 취업 준비를 시작했습니다. 하지만 취준 기간이 길어지고 취업 시장 한파(매년 그랬음)로 인해 '이 기간동안 기록에 남는 무언가라도 해야겠다!'라는 마음으로 다른 기업에서 진행하는 국비지원 부트캠프에 지원해서 참여를 했습니다. 하지만 제 기대가 컸던 탓인지... 국비지원 부트캠프의 교육 커리큘럼은 모두가 수료 가능하게 비전공자 기준으로 계획되어 있었고, 고등학교 수업마냥 매시간 강의를 진행했습니다. 제가 참여했던 목적은 개발자를 준비하는 참여자들끼리의 지..
BOJ 2142 정돈된 배열 swift
·
알고리즘
문제 링크 : https://www.acmicpc.net/problem/2142 문제 해설처음 문제를 풀 땐 제한조건을 보지 않고 브루트포스로 작성을 했다가 시간초과를 맞았습니다.시간초과 문제를 해결하기 위해선 코드를 최적화할 필요가 있었습니다.해당 문제는 이미 정돈된 배열을 사용하는 것이기에 인접 배열이 조건을 충족하는지만 확인하면 됐습니다.정돈 조건 : A[i][j] + A[k][l] 코드더보기import Foundationfinal class FileIO { private let buffer:[UInt8] private var index: Int = 0 init(fileHandle: FileHandle = FileHandle.standardInput) { buffer..
BOJ 1222 홍준 프로그래밍 대회 swift
·
알고리즘
문제 링크 : https://www.acmicpc.net/problem/1222 문제 해설이 문제는 에라토스테네스의 체 방식을 활용한 최적화 문제입니다.팀원 수를 T라고 하면, 각 학교의 학생 수가 T로 나누어떨어져야 합니다.즉, T는 참가하는 학교들의 학생 수의 공약수여야 합니다.본선 참가자 수 = T * (참가 학교 수)를 최대화해야 합니다.최소 2개 학교가 참가해야 하므로, 각 팀원 수에 대해 참가 가능한 학교가 2개 이상인지 확인합니다.코드더보기import Foundationfinal class FileIO { private let buffer:[UInt8] private var index: Int = 0 init(fileHandle: FileHandle = FileHandle.s..
BOJ 3190 뱀 swift
·
알고리즘
문제 링크 : https://www.acmicpc.net/problem/3190 문제 해설정말 단순하게 구현문제입니다. 다른 언어면 아마 Deque를 구현해서 사용했어야 문제를 풀 수 있을겁니다.뱀 문제를 풀 때 주의해야할 점은 뱀의 시작위치는 (1, 1)이라는 것입니다.일반 배열처럼 (0, 0)에서 시작하면 틀리기 때문에 주의하시길 바랍니다. 코드더보기import Foundationlet n = Int(readLine()!)!let k = Int(readLine()!)!var apples = [(Int, Int)]()for _ in 0..
BOJ 2449 전구 swift
·
알고리즘
문제 링크 : https://www.acmicpc.net/problem/2449 문제 해설N개의 전구가 일렬로 배치되어 있고, 각 전구는 1부터 K까지의 색으로 표현됩니다. 한 번에 연속된 같은 색의 전구 그룹을 선택해 다른 색으로 변경할 수 있을 때, 모든 전구를 같은 색으로 만드는 최소 변경 횟수를 구하는 문제입니다.연속된 같은 색 전구를 하나의 그룹으로 압축합니다.dp[i][j]를 i번째 그룹부터 j번째 그룹까지 같은 색으로 만드는 최소 횟수로 정의합니다.점화식 : dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j] + (colors[i] != colors[k + 1] ? 1 : 0) 코드더보기import Foundationlet input = readLine()..