목록전체 글 (473)
MUKER_DEV with iOS
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 import Foundation func solution(_ babbling:[String]) -> Int { let arr = ["aya", "ye", "woo", "ma"] let arr2 = ["ayaaya", "yeye", "woowoo", "mama"] var count = 0 for i in babbling { var ii = i for j in arr2 { ii = ii.replacingOccurrences(of: j, with: "@") } for j in arr { ii = ii.r..
사람은 태도가 전부다. 내가 해야 하는 것들을 하고 싶은 것들로 바꾸고, 궁금해하고 해결하려는 태도가 자연스럽게 실력이 되고, 더 좋은 환경을 만들어준다. 누군가는 하기 싫은 일, 쥐어짜가며 억지로 억지로 하지만 누구는 나의 일에 책임감을 가지고 파고들며, 힘들지언정 억지로 하는 건 아니다. 마인드가 인생을 바꾼다. 능동적인 사람이 되자!
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 func solution(_ N: Int) -> Int { var R = 0 var C = 0 while C != N { R += 1 if R % 3 == 0 || String(R).map { $0 }.contains("3") { continue } else { C += 1 } } return R } print(solution(40))
10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 나의 풀이 let T = Int(readLine()!)! var N = 1 if T == 0 { print(1) } else { for i in 1...T { N *= i } print(N) } /* 팩토리얼에서 N!은 0부터 N까지의 숫자를 하나씩 곱한것을 말합니다. 5! 라면 1 * 2 * 3 * 4 * 5 = 5!가 되겠습니다. 0일 때 1을 출력하는 조건을 주고 반복문으로 팩토리얼문제를 풀었습니다. /* 69100kb 8ms 126b 참고할만한 숏코딩 print((1...max(1,Int(readLine()!)!)).reduce(1,*)) /* print(1...
18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 나의 풀이 let T = Int(readLine()!)! let N = readLine()!.split(separator: " ").map { Int($0)! } var D = [Int: Int]() var C = 0 for i in N.sorted() { if D[i] == nil { D[i] = C C += 1 } } print("\(N.map { String(D[$0]!) }.joined(separator: ..
10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 나의 풀이 let T = Int(readLine()!)! var A = [[String]]() for _ in 1...T { A.append(readLine()!.split(separator: " ").map { String($0) }) } A.sort { Int($0[0])! < Int($1[0])! } for i in A { print(i[0], i[1]) } /// 여전히 배열의 정렬 문제를 중첩배열로 풀어보고 있다. 일단 예제는 출력이 되는데 자꾸 오답이 나와서..
1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 나의 풀이 let T = Int(readLine()!)! var A = [String]() for _ in 1...T { A.append(readLine()!) } // 배열을 Set으로 한번 바꿔줌으로써 중복되는 문자를 없애줌 A = Array(Set(A)) // 배열의 길이를 기준으로 작은 숫자가 앞으로 올 수 있게 정렬 // 만약 앞에 정렬되어 있는 문자와 길이가 같다면 사전 순으로 정렬 A.sort { $0.count == $1.count ? ..
11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 나의 풀이 let T = Int(readLine()!)! var A = [[Int]]() for _ in 1...T { let a = readLine()!.split(separator: " ").map { Int($0)! } A.append(a) } A.sort { $0[1] == $1[1] ? $0[0] < $1[0] : $0[1] < $1[1] } for i in A { print(i[0], i[1]) ..
11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 나의 풀이 let T = Int(readLine()!)! var A = [[Int]]() for _ in 1...T { let a = readLine()!.split(separator: " ").map { Int($0)! } A.append(a) } A.sort { $0[0] == $1[0] ? $0[1] < $1[1] : $0[0] < $1[0] } for i in A { print(i[0], i[1]) } ..
1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 나의 풀이 let T = readLine()!.map{Int(String($0))!}.sorted(by: >) for i in T { print(i, terminator: "") } 69104kb 8m 95b 추가 풀이 - 숏코딩 1등에 있는 코드인데ㅋㅋ 이게 되네ㅋㅋㅋㅋㅋ print(String(readLine()!.sorted(by:>)))