코딩테스트 209

[Swift 알고리즘] 백준 BOJ 3004 - 체스판 조각 / 수학, DP

백준 BOJ 3004 - 체스판 조각 / stride 함수 안녕하세요. 개발 중인 정주입니다. 오늘은 백준 BOJ의 3004번 체스판 조각을 풀었습니다. 원래는 수학 문제인제 DP 방식으로 풀어보았습니다. 거기서 거기지만 수학으로 푼 코드도 있습니다. Github https://github.com/jeongju9216/swiftAlgorithm 문제 링크 https://www.acmicpc.net/problem/3004 풀이 자른 횟수 index dp 값 0번 0 0 1번 1 2 2번 2 4 3번 3 6 4번 4 9 5번 5 12 DP 공식 dp[index-1] + (index/2 + 1) 수학 공식 (n/2 + 1) * (n - (n/2 + 1)) 최종 코드 let input = Int(readLine..

코딩테스트 2021.09.11

[Swift 알고리즘] 백준 BOJ 2752 - 세 수 정렬

BOJ 2752 - 세 수 정렬 안녕하세요. 개발 중인 정주입니다. 오늘은 BOJ의 2752번 세 수 정렬 문제를 풀었습니다. 쉬운 문제이지만 정렬에 대해 간단히 정리하기 위해 포스팅 남깁니다. 자세한 정렬 분석은 따로 포스팅을 작성하도록 하겠습니다. Github https://github.com/jeongju9216/swiftAlgorithm 문제 링크 https://www.acmicpc.net/problem/2752 풀이 Swift의 내장 함수 sort() 혹은 sorted()를 사용하면 쉽게 해결이 됩니다. Swift의 정렬은 Tim Sort로 되어 있으며 시간 복잡도는 O(nlogn)입니다. Tim Sort는 Insert Sort와 Merge Sort가 섞여있는 방식인데요. 자세한 건 따로 포스팅..

코딩테스트 2021.09.09

[Swift 알고리즘] 백준 BOJ 1712 - 손익분기점

BOJ 1712 - 손익분기점 안녕하세요. 개발 중인 정주입니다. 오늘은 BOJ의 1712번 손익분기점 문제를 풀었습니다. Swift로 처음으로 시간 복잡도를 생각했어야 하는 문제였습니다. 자세한 내용은 본문에서 보시죠. Github https://github.com/jeongju9216/swiftAlgorithm 문제 링크 https://www.acmicpc.net/problem/1712 풀이 이 문제의 시간 제한은 0.35초이고 input은 21억 이하입니다. 따라서 반복문 O(n)의 시간복잡도로는 문제를 풀 수 없습니다. 더 자세한 이야기는 코드를 보면서 설명하겠습니다. 바로 해답을 보고 싶은 분은 최종 코드의 설명을 봐주세요! 1차 코드 let input = readLine()!.split(sep..

코딩테스트 2021.09.08

[Swift 알고리즘] 백준 BOJ 1297 - TV 크기

BOJ 1297 - TV 크기 안녕하세요. 개발 중인 정주입니다. 오늘은 BOJ의 1297번 TV 크기 문제를 풀었습니다. 수학적인 지식이 필요하고 그 지식을 Swift로 작성할 수 있느냐가 포인트였습니다. Github https://github.com/jeongju9216/swiftAlgorithm 문제 링크 https://www.acmicpc.net/problem/1297 풀이 피타고라스 정리와 제곱근을 이용한 문제입니다. 1. 대각선^2 = 가로^2 + 세로^2 2. 대각선^2 = (가로 비율 * x)^2 + (세로 비율 * x)^2 3. x = (대각선^2 / (가로비율^2 + 세로 비율^2))의 제곱근 4. result = x * 가로비율, x * 세로 비율 pow(), sqrt()를 이용해서 ..

코딩테스트 2021.09.07

[Swift 알고리즘] 백준 BOJ 11654 - 아스키 코드

[Swift 알고리즘 ] BOJ 11654 - 아스키 코드 안녕하세요. 개발 중인 정주입니다. 오늘은 Swift로 아스키 코드를 출력하는 방법에 대해 알아보겠습니다. C나 C++에서는 단순히 정수로 출력하면 되는데 Swift에서는 약간의 변환 과정이 필요합니다. 바로 보시죠! Github https://github.com/jeongju9216/swiftAlgorithm 문제 정보 번호, 이름 : 11654 아스키 코드 분류 : 구현 문제 링크 https://www.acmicpc.net/problem/14645 풀이 입력을 아스키 코드로 출력하면 됩니다. 코드로 설명하겠습니다. 최종 코드 let inputCh = Character(readLine()!) let asciiValue = inputCh.asci..

코딩테스트 2021.09.06

[Swift 알고리즘] 백준 BOJ 10757 - 큰 수 A+B

[Swift 알고리즘] BOJ 10757 - 큰 수 A+B 안녕하세요. 개발 중인 정주입니다. 오늘은 BOJ 10757번의 큰 수 A+B를 풀어보았습니다. Swift로 Big Integer 문제를 푼 건 처음이었습니다. 다른 언어로는 풀어본 적이 있어서 푸는 방법은 아는데 그것을 Swift로 구현하는 것이 포인트였습니다. Github https://github.com/jeongju9216/swiftAlgorithm 문제 정보 번호, 이름 : 10757 큰 수 A+B 분류 : 수학, 구현, 사칙 연산, 임의 정밀도 / 큰 수 연산 문제 링크 https://www.acmicpc.net/problem/10757 풀이 큰 수 문제는 Int형의 최댓값을 넘는 input이 들어왔을 때 처리를 어떻게 할 것인가가 ..

코딩테스트 2021.09.05

[Swift 알고리즘] 백준 BOJ 3003 - 킹, 퀸, 룩, 비숍, 나이트, 폰

[Swift 알고리즘] BOJ 3003 - 킹, 퀸, 룩, 비숍, 나이트, 폰 안녕하세요. 개발 중인 정주입니다. 오늘은 알고리즘 공부를 하며 가독성의 중요성을 느끼게 해 준 문제가 있어 포스팅을 남깁니다. 문제 자체는 최하 난이도이지만 마음의 다짐을 위해서요. 바로 시작하겠습니다 Github https://github.com/jeongju9216/swiftAlgorithm 문제 정보 번호, 이름 : 3003 킹, 퀸, 룩, 비숍, 나이트, 폰 분류 : 수학, 구현, 사칙연산 문제 링크 https://www.acmicpc.net/problem/3003 풀이 단순 계산 문제입니다. readLine()으로 6개의 입력을 받고 문제에 제시된 정상 체스 개수에서 입력 값을 빼주면 됩니다. 1차 코드 let in..

코딩테스트 2021.09.03

[Swift 알고리즘] 백준 BOJ 2845 - 파티가 끝나고 난 뒤

[Swift 알고리즘] BOJ 2845 - 파티가 끝나고 난 뒤 안녕하세요. 개발 중인 정주입니다. 오늘은 BOJ 2845번인 "파티가 끝나고 난 뒤" 문제를 풀었습니다. 바로 시작하겠습니다. Github https://github.com/jeongju9216/swiftAlgorithm 문제 정보 번호, 이름 : 2845 파티가 끝나고 난 뒤 분류 : 수학, 구현, 사칙연산 문제 링크 https://www.acmicpc.net/problem/2845 풀이 간단한 구현 문제입니다. 두 개를 입력받고 두 값을 곱해줍니다. 이 값이 정확한 인원 수입니다. 다음 라인에서 5개의 입력 값과의 차이를 출력합니다. 제가 이 문제에서 처음 사용해본 것은 두 개의 라인에 거쳐 입력을 받는 것이었습니다. readLine(..

코딩테스트 2021.09.02

[Swift 알고리즘] BOJ 2475 - 검증수

[Swift 알고리즘] BOJ 2475 - 검증수 안녕하세요. 개발 중인 정주입니다. 오늘은 BOJ 2475번 검증수 문제를 풀어보았습니다. Github https://github.com/jeongju9216/swiftAlgorithm 문제 정보 번호, 이름 : 2475 검증수 분류 : 수학, 구현, 사칙연산 문제 링크 https://www.acmicpc.net/problem/2475 풀이 2475번 검증수는 단순 계산 문제입니다. 5개의 input값마다 제곱해서 더한 뒤 마지막에 10으로 나눈 나머지를 출력하면 됩니다. 입력의 범위는 00000 ~ 99999까지 이므로 Big Integer 고민도 하지 않아도 됩니다. 마지막 검증으로 가장 예외적이라고 생각할 수 있는 00000 입력이 제대로 동작하는지..

코딩테스트 2021.09.01
반응형