[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

💻 CS/알고리즘 연습 67

[알고리즘 연습] 양궁대회 (프로그래머스 lv2, 스위프트)

문제 https://programmers.co.kr/learn/courses/30/lessons/92342 코딩테스트 연습 - 양궁대회 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원 programmers.co.kr 시도 import Foundation func solution(_ n:Int, _ info:[Int]) -> [Int] { var ascore = 0 var rscore = 0 var n = n var point: Float = 10 var ap: [(Int,Float)] = info[0...10].map { var result = $0 > 0 ? (Int(10..

[알고리즘 연습] 조이스틱 (프로그래머스 lv2, 스위프트)

문제 https://programmers.co.kr/learn/courses/30/lessons/42860?language=swift 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 풀이 import Foundation func solution(_ name:String) -> Int { let name = Array(name) let aValue = Int(Character("A").asciiValue!) let zValue = Int(Character("Z").asciiValue!) //..

[알고리즘 연습] 행렬 테두리 회전하기 (프로그래머스 lv2, 스위프트)

문제 https://programmers.co.kr/learn/courses/30/lessons/77485?language=swift# 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 풀이 import Foundation func solution(_ rows:Int, _ columns:Int, _ queries:[[Int]]) -> [Int] { var matrix = [[Int]]() var answer = [Int]() for i in 0..

[알고리즘 연습] 실패율 (프로그래머스 lv1, 스위프트)

문제 https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 풀이 1 func solution(_ N:Int, _ stages:[Int]) -> [Int] { var numOfPlayer = stages.count var rate = [Int:Float]() let dic = stages.reduce(into: [Int:Int]()) { $0[$1, default: 0] += 1 } for n in 1...N { r..

[알고리즘 연습] 비밀지도 (프로그래머스 lv1, 스위프트)

문제 https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 풀이 // 방법 1 ("0"으로 이루어진 패딩을 계산적으로 추가해준 뒤 replacingOccurrences로 치환) func solution(_ n:Int, _ arr1:[Int], _ arr2:[Int]) -> [String] { var answer: [String] = [] for idx in 0..

[알고리즘 연습] 다트 게임 (프로그래머스 lv1, 스위프트)

문제 https://programmers.co.kr/learn/courses/30/lessons/17682?language=swift 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 풀이 func solution(_ dartResult:String) -> Int { let numberList = dartResult.split(whereSeparator: {$0.isLetter || $0 == "#" || $0 == "*"}) let letterList = dartResult.split(whereSeparator: {$0.isNumber}) var totalScore = 0 for (i, (number, letter)) in zip(numberList, letterList).enum..

[알고리즘 연습] 시저 암호 (프로그래머스 lv1, 스위프트)

문제 https://programmers.co.kr/learn/courses/30/lessons/12926?language=swift 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀 programmers.co.kr 풀이 func solution(_ s:String, _ n:Int) -> String { return s.utf8.map { var code = Int($0) switch code { case 65...90: code = (code + n - 65) % 26 + 65 case 97...122: code..

[알고리즘 연습] 신규 아이디 추천 (프로그래머스 lv1, 스위프트)

문제 https://programmers.co.kr/learn/courses/30/lessons/72410?language=swift 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 풀이 import Foundation func solution(_ new_id:String) -> String { var myID: String = new_id myID = myID.lowercased() var newID: String = "" for i in myID { if i.isLetter || i.isNumber..

[알고리즘 연습] 소수 만들기 (프로그래머스 lv1, 파이썬)

문제 https://programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 풀이 def solution(nums): from itertools import combinations as cb answer = 0 for a in cb(nums, 3): cand = sum(a) for j in range(2, int(cand**0.5)+1): if cand%j==0: break else: answer += 1 ret..

[알고리즘 연습] 길찾기 게임 (프로그래머스 lv3, 파이썬)

문제 https://programmers.co.kr/learn/courses/30/lessons/42892 코딩테스트 연습 - 길 찾기 게임 [[5,3],[11,5],[13,3],[3,5],[6,1],[1,3],[8,6],[7,2],[2,2]] [[7,4,6,9,1,8,5,2,3],[9,6,5,8,1,4,3,2,7]] programmers.co.kr 참고 https://inuplace.tistory.com/185?category=884573 [자료구조] 트리 트리란 상하 관계가 존재하는 자료구조이다. 링크드 리스트와 비슷하게 트리도 노드들을 가진다. 단, 각 노드는 데이터 정보뿐만 아니라, 자식에 대한 레퍼런스를 가진다. 이를 통해 계층적 구 inuplace.tistory.com 트리 구조 및 순회에 대..