[Swift 알고리즘] 백준 BOJ 1076 - 저항
·
코딩테스트
[Swift 알고리즘] 백준 BOJ 1076 - 저항 안녕하세요. 개발 중인 정주입니다. 오늘은 백준의 1076번 저항 문제를 풀었습니다. 쉽게 갈 수 있는 문제지만 tuple을 사용해보고 싶어서 조금 돌아간 감이 있는 풀이입니다. 참고해주세요. Github https://github.com/jeongju9216/swiftAlgorithm 문제 링크 https://www.acmicpc.net/problem/1076 풀이 입력 String을 주어진 color와 비교해서 값과 곱을 저장하여 계산하면 됩니다. pow()를 사용했기 때문에 Foundation을 import 해야 합니다. import Foundation var inputs = [(value: Int, multi: Int)]() let colorA..
[iOS] iOS 개발 - storyboard, swift 변수명 변경 방법
·
iOS/개념 & 개발
[iOS] iOS 개발 - storyboard, swift 변수명 변경 방법 안녕하세요. 개발하는 정주입니다. 오늘은 storyboard, swift 변수명 변경 방법에 대해 포스팅하려고 합니다. storyboard와 swift 파일이 연결되어 동작한다는 것은 모두 잘 아실 텐데요. 그렇기 때문에 둘 중 하나의 이름만 바꾸면 에러가 납니다. 이럴 때 이 포스팅의 방법을 따라 하시면 두 번 일을 하지 않아도 됩니다. 변경할 변수 선택 이름을 변경할 변수를 클릭합니다. 저는 UILabel인 lbColor의 이름을 colorLabel로 바꾸겠습니다. 이름 변경 실행 변수 위에 두고 우클릭 -> Refactor > Rename을 선택합니다. 혹은 Editor > Refactor > Rename을 선택해도 동..
[Swift 알고리즘] 프로그래머스 - 숫자 문자열과 영단어도움말
·
코딩테스트
프로그래머스 - 숫자 문자열과 영단어도움말 안녕하세요. 개발 중인 정주입니다. 오늘은 프로그래머스의 숫자 문자열과 영단어도움말 문제를 풀었습니다. 2021 카카오 채용연계형 인턴쉽의 문제 중 하나라고 합니다. Github https://github.com/jeongju9216/swiftAlgorithm 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/81301 풀이 해당 문제는 단순 반복문으로 해결이 가능합니다. input이 50 글자 이하이기 때문입니다. 또한 결과는 20억 이하의 정수이기 때문에 정수의 최댓값을 넘칠 걱정도 하지 않아도 됩니다. 마지막으로 시작이 0 또는 zero로 입력되는 값은 없다고 하니 String으로 할 필요 없어!라고 온몸..
[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..
[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가 섞여있는 방식인데요. 자세한 건 따로 포스팅..
[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..
[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()를 이용해서 ..
[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..
[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이 들어왔을 때 처리를 어떻게 할 것인가가 ..
[Swift 알고리즘] Swift - 알고리즘 입력(readLine) 처리 방법
·
iOS/Xcode
[Swift 알고리즘] Swift - 알고리즘 입력(readLine) 처리 방법 안녕하세요. 개발 중인 정주입니다. 오늘은 알고리즘의 첫걸음인 입력에 대해 알아보겠습니다. Swift는 iOS 개발에 주로 사용하다 보니 Swift로 알고리즘을 공부하려는 분들께서는 많이 당황하실 수 있습니다. 저도 그중 한 사람이었는데요. 한 번 알아두니 오히려 알고리즘 공부하기 정말 편하더라고요. 설명 없이 코드만 필요하시다면 맨 아래 요약을 보시면 됩니다. Swift로 알고리즘 공부를 하는 환경 구성은 지난 포스팅을 참고해주세요. 2021.08.31 - [정주는 개발 중 :]/iOS, Swift] - [Xcode] Swift 알고리즘 - Xcode 환경 세팅 그럼 시작하겠습니다! 개발 환경 MacBook Pro (Ret..
[Swift 알고리즘] 백준 BOJ 3003 - 킹, 퀸, 룩, 비숍, 나이트, 폰
·
코딩테스트
[Swift 알고리즘] BOJ 3003 - 킹, 퀸, 룩, 비숍, 나이트, 폰 안녕하세요. 개발 중인 정주입니다. 오늘은 알고리즘 공부를 하며 가독성의 중요성을 느끼게 해 준 문제가 있어 포스팅을 남깁니다. 문제 자체는 최하 난이도이지만 마음의 다짐을 위해서요. 바로 시작하겠습니다 Github https://github.com/jeongju9216/swiftAlgorithm 문제 정보 번호, 이름 : 3003 킹, 퀸, 룩, 비숍, 나이트, 폰 분류 : 수학, 구현, 사칙연산 문제 링크 https://www.acmicpc.net/problem/3003 풀이 단순 계산 문제입니다. readLine()으로 6개의 입력을 받고 문제에 제시된 정상 체스 개수에서 입력 값을 빼주면 됩니다. 1차 코드 let in..
[Swift 알고리즘] 백준 BOJ 2845 - 파티가 끝나고 난 뒤
·
코딩테스트
[Swift 알고리즘] BOJ 2845 - 파티가 끝나고 난 뒤 안녕하세요. 개발 중인 정주입니다. 오늘은 BOJ 2845번인 "파티가 끝나고 난 뒤" 문제를 풀었습니다. 바로 시작하겠습니다. Github https://github.com/jeongju9216/swiftAlgorithm 문제 정보 번호, 이름 : 2845 파티가 끝나고 난 뒤 분류 : 수학, 구현, 사칙연산 문제 링크 https://www.acmicpc.net/problem/2845 풀이 간단한 구현 문제입니다. 두 개를 입력받고 두 값을 곱해줍니다. 이 값이 정확한 인원 수입니다. 다음 라인에서 5개의 입력 값과의 차이를 출력합니다. 제가 이 문제에서 처음 사용해본 것은 두 개의 라인에 거쳐 입력을 받는 것이었습니다. readLine(..
[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 입력이 제대로 동작하는지..
[Xcode] Swift 알고리즘 - Xcode 환경 세팅
·
iOS/Xcode
Swift 알고리즘 - Xcode 환경 세팅 안녕하세요. 개발하는 정주입니다. 오늘은 Swift로 알고리즘을 하기 전 Xcode에서 알고리즘을 하기 위한 세팅을 먼저 진행하겠습니다. 세팅이라고 해도 복잡한 것은 없으니 어렵게 생각하지 않으셔도 됩니다. 개발 환경 MacBook Pro (Retina, 15-inch, Mid 2015) macOS Big Sur(11.5) 프로세서 : 2.5 GHz 쿼드 코어 Intel Core i7 메모리 : 16GB 1600 MHz DDR3 그래픽 : Intel Iris Pro 1536 MB Xcode Xcode 12.5.1 왜 굳이 Xcode로? 힘들게 Xcode의 프로젝트로 알고리즘을 공부하는 이유에 대해 궁금하실 텐데요. 바로 Swift의 입력 함수인 readLine..
[Swift] Swift 문법 - 열거형(enum)
·
Swift/개념 & 응용
안녕하세요. 오늘은 Swift의 열거형(enum)에 대해 알아보겠습니다. 안드로이드 개발 당시에도 한 번 사용해보고 열거형의 편리함에 푹 빠졌는데요. Swift에서도 유용하게 사용할 것 같네요. 그럼 시작하겠습니다! 참고 자료 해당 포스팅은 Smile Han님의 유튜브 영상을 참고하며 작성하였습니다. https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA 열거형(enum) 관련 있는 데이터들이 멤버로 구성되어 있는 자료형 객체입니다. 열거형은 아래 세 가지 경우에 유용합니다. 원치 않는 값이 입력되어 에러가 발생하는 것을 방지할 때 입력 값을 특정 범위로 제한할 때 특정 값 중 하나만 선택하게 할 때 성별을 입력할 때는 남자, 여자 중에서만 선택할 수 있고 ..
유정주
'SWIFT' 태그의 글 목록 (32 Page)