목록전체 글 (473)
MUKER_DEV with iOS
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/3cfhZ/btshCfTpiT1/cXd2kAXBNfnyr0kMTr1kC0/img.png)
2979번: 트럭 주차 첫째 줄에 문제에서 설명한 주차 요금 A, B, C가 주어진다. (1 ≤ C ≤ B ≤ A ≤ 100) 다음 세 개 줄에는 두 정수가 주어진다. 이 정수는 상근이가 가지고 있는 트럭이 주차장에 도착한 시간과 주차장 www.acmicpc.net 성공 풀이 let price = readLine()!.split(separator: " ").map { Int($0)! } var arr = Array(repeating: 0, count: 101) for _ in 0..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Zuz07/btshyzkWwZn/BTGCeykwclT6mdKqyTzNhK/img.png)
16935번: 배열 돌리기 3 크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 1 6 2 9 8 4 → 4 2 9 3 1 8 7 2 6 9 8 2 → 9 2 3 6 1 5 1 8 3 4 2 9 → www.acmicpc.net 성공 풀이 코드 풀이 키워드 키워드
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b5Vw4g/btshtD0VfqZ/ZMX3895RmhD4Nj8QPPKhv1/img.png)
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 성공 풀이 func solution(_ s:String) -> Int { let sCount = s.count let arr = Array(s) var result = sCount // testcase 5번은 문자열 길이가 1 이라 따로 빼줌 if sCount == 1 { return 1 } // 1부터 sCount의 절반만큼 반복, i는 쪼개는 문자열의 길이 for i in 1...sCount/2 { // 문자열 쪼개서 store에 넣기 var store = [String]() for j in stride..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/DuZof/btshkOVRYxx/rzgQvnpqA2zLxHbZF5rkx0/img.png)
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 성공 풀이 class Queue { private var new: [Int] = [] private var old: [Int] var queue: [Int] { old.reversed()+new } init(_ input: [Int] ) { old = input.reversed() } func add(_ n: Int) { new.append(n) } func removeFirst() -> Int { guard !old.isEmpty || !new.isEmpty else { return 0 } if old.i..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mILfc/btsg1ujQUer/ytfLUmhds5HOznaaZxYojK/img.png)
1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 성공 풀이 let input = readLine()!.split(separator: " ").map { Int($0)! } var arr = Array((1...input[0])) var result = [Int]() var count = 0 while !arr.isEmpty { count += input[1]-1 count = count % arr.count result.append(arr.remove(at: count)) } print("") 풀이 키워드 과정을 직접 써보니까 패턴을 찾을 수 있었다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/rFgFh/btsgKok977B/lienJq9XSE8NwcvT6X3UK1/img.png)
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 성공 풀이 import Foundation func solution(_ a:Int, _ b:Int) -> Int { if a%2 == 1 && b%2 == 1 { return a*a + b*b } if a%2 == 0 && b%2 == 0 { return abs(a-b) } return 2 * (a+b) }
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cWrCKw/btsgFvRhlkW/1K3g0dI4St2rNhXLDHPDJk/img.png)
4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 성공 풀이 var s = Set() for i in 1...10000 { s.insert(d(i)) } for i in 1...10000 { if !s.contains(i) { print(i) } } func d(_ n: Int) -> Int { var sum = n var now = n while now != 0 { sum += now%10 now /= 10 } return sum }
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cfdzEP/btsgCDbtCL5/nGJjoldmyx8AWv61roYq80/img.png)
1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 성공 풀이 let n = readLine()! var arr = readLine()!.split(separator: " ").map { Int($0)! } var maxNum = arr.max()! if maxNum < 0 { print(maxNum) } else { var sum = 0 maxNum = 0 for i in arr { sum += i if sum < 0 { sum = 0 } maxNum = max(maxNum, sum) } print(maxNum) } 풀..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/byGjmD/btsgu7vX5dl/5inP2zlIno9j4VEowZJkFk/img.png)
5212번: 지구 온난화 첫째 줄에 지도의 크기 R과 C (1 ≤ R, C ≤ 10)가 주어진다. 다음 R개 줄에는 현재 지도가 주어진다. www.acmicpc.net 성공 풀이 let move = [(0,1),(0,-1),(1,0),(-1,0)] var valueY = (Int.max,-1) var valueX = (Int.max,-1) let yx = readLine()!.split(separator: " ").map { Int($0)! } var map = [[String]]() var map1 = { var arr = [[String]]() for _ in 0.. 1 { valueY.0 = min(valueY.0,y) valueY.1 = max(valueY.1,y) valueX.0 = min(v..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lQf6I/btsgpY70ejH/aHRjo7kRBo4Ay3A5VcBDO0/img.png)
14714번: 홍삼 게임 (Easy) 첫 번째 줄에 “질서 있는 홍삼 게임”의 참가자의 수 N(2 ≤ N ≤ 500), 은하가 먼저 지목한 사람의 번호 A와 두 번째로 지목한 사람의 번호 B(1 ≤ A, B ≤ N, A ≠ B), 각 지목권의 지목 간격을 나타내 www.acmicpc.net 성공 풀이 let input = readLine()!.split(separator: " ").map { Int($0)! } let N = input[0], A = input[1], B = input[2], DA = input[3], DB = input[4] var turn = 0 var Aarr = [A] var Barr = [B] loop:for i in 1...1000 { if i == 1000 { print("..