코딩테스트 (11) 썸네일형 리스트형 [프로그래머스] n^2 배열 자르기 난이도 : Lv 2 분류 : - 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import Foundation func solution(_ n:Int, _ left:Int64, _ right:Int64) -> [Int] { let result: [Int] = (Int(left)...Int(right)).map { max($0 / n + 1, $0 % n + 1) } return result } 풀이 1. 어차피 2차원 배열의 행을 잘라서 이어붙인 1차원 배열을 만들기 때문에 애초부터 1차원 배열을 만들어줍니다. 2. n * n 만큼의 배열을 만.. [프로그래머스] 귤 고르기 난이도 : Lv 2 분류 : Greedy 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import Foundation func solution(_ k:Int, _ tangerine:[Int]) -> Int { // 딕셔너리를 활용해서 각 귤의 수를 센다. var dict = [Int:Int]() for tan in tangerine { dict[tan] = (dict[tan] ?? 0) + 1 } // 딕셔너리의 값(각 귤의 수)을 내림차순 정렬 // 다른 종류의 귤을 고를 때까지 귤을 더함 var number = 0 var answer = .. [프로그래머스] 행렬의 곱셈 난이도 : Lv 2 분류 : 구현 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import Foundation func solution(_ arr1:[[Int]], _ arr2:[[Int]]) -> [[Int]] { var answer = Array(repeating: Array(repeating: 0, count: arr2[0].count), count: arr1.count) for i in 0.. [프로그래머스] 괄호 회전하기 난이도 : Lv 2 분류 : 스택 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import Foundation func solution(_ s:String) -> Int { let n = s.count let s = Array(s) var answer = 0 for i in 0.. [프로그래머스] 타겟 넘버 난이도 : Lv 2 분류 : 깊이/너비 우선 탐색(DFS/ BFS) 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import Foundation func solution(_ numbers:[Int], _ target:Int) -> Int { var count = 0 func DFS(_ index: Int, _ sum: Int) { if index == (numbers.count - 1) && sum == target { // 재귀함수 탈출 조건 count += 1 return } guard index + 1 < numbers.count els.. [프로그래머스] 베스트앨범 난이도 : Lv 2 분류 : 해시 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import Foundation func solution(_ genres: [String], _ plays: [Int]) -> [Int] { var playCountByGenre = [String: Int]() // 각 장르별로 총 재생 횟수를 저장하는 딕셔너리 var songPlayCountByGenre = [String: [(id: Int, playCount: Int)]]() // 각 장르별로 노래의 고유 번호와 재생 횟수를 저장하는 배열 for i in 0.... [프로그래머스] 위장 난이도 : Lv 2 분류 : 해시 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import Foundation func solution(_ clothes:[[String]]) -> Int { var wearParts = Dictionary() for etc in clothes { // clothes 를 의상의 종류에 맞게 정리한다. if wearParts[etc[1]] == nil { //etc[1]( 의상의 종류 ) 가 비어있다면 새로 만든다. wearParts.updateValue([etc[0]], forKey: etc[1]) } else.. [프로그래머스] 다리를 지나는 트럭 난이도 : Lv 2 분류 : 스택 / 큐 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import Foundation func solution(_ bridge_length:Int, _ weight:Int, _ truck_weights:[Int]) -> Int { var bridge = Array(repeating: 0, count: bridge_length) var trucks = truck_weights var time = 0 var bridgeWeight = 0 while !bridge.isEmpty { time += 1 // 한 번 처리.. 이전 1 2 다음