중앙에서 시작해서 달팽이가 가는 그대로 따라가면서 숫자를 할당해주면 된다! 채점 중 50%대 쯤에 틀렸다고 나왔는데, 찾고자 하는 자연수가 1일 때를 생각 안해서 틀렸다. 스스로 반례 찾는 연습도 해야할 듯!! // // main.swift // CodingTestPractice // // Created by CHOI on 2023/05/23. // // 달팽이 import Foundation let n = Int(readLine()!)! // 홀수인 자연수 N let target = Int(readLine()!)! // 찾고자 하는 N^2 이하의 자연수 var arr = Array(repeating: Array(repeating: 0, count: n), count: n) func solution() ..
주식 매도/매수 방법이 다른 준현이와 성민이. 1/1~1/14 기간 동안 각자의 방법으로 자산을 불린 후 둘 중 누가 더 자산이 많은지 결과를 출력하는 문제. 1/1~1/14 배열을 돌면서 각자의 자산을 체크한다 준현이: 현재가가 현금보다 낮으면 전부 매수 성민이: 3일 연속 상승 & 보유 주식이 있다면 전량 매도 / 3일 연속 하락 & 현재가가 현금보다 낮으면 전량 매수 자산 계산: 현금 + 주가 * 주식 수 // // 20546.swift // CodingTestPractice // // Created by CHOI on 2023/05/21. // // 기적의 매매법 import Foundation let cash = Int(readLine()!)! let MachineDuck = readLine()..
#1 런타임에러 import Foundation let t = Int(readLine()!)! for _ in 0...t { let n = Int(readLine()!)! let nums = readLine()!.split(separator: " ").map{Int($0)!} print(solution(n: n, nums: nums)) } func solution(n: Int, nums: [Int]) -> String { let temp = nums.sorted() return "\\(temp[0]) \\(temp[n - 1])" } t - 1을 안해줘서 한 줄을 더 받고 있었다.. 하지만 고쳤는데 시간 초과 ㅠ 역시 sorted는 안되려나 #2 시간초과 import Foundation let t = I..
https://school.programmers.co.kr/learn/courses/30/lessons/12981 문제 풀이 영어로 끝말잇기를 하는데 앞뒤 글자가 정확한지 같은 단어가 나오진 않았는지 확인한 후에 틀린 친구는 누구이고 몇 번째에 틀렸는지를 구해내면 되는 문제다. 먼저 게임이 진행되는 리스트 game을 만들어 놓고 시작 진행되는 동안 우선 뒷글자와 일치하는지 확인(1) -> 아닐 경우 answer에 넣고 break 앞서 이 단어가 나오지 않았는지 확인(2) -> 아닐 경우 answer에 넣고 break 둘 다 괜찮으면 게임이 진행되도록 game에 append 게임이 끝나도 걸리는 부분이 없다면 answer를 [0, 0]으로 만들어 놓고 return 한다. 여기서 주의해야 할 점!! brea..
https://school.programmers.co.kr/learn/courses/30/lessons/49994 문제 설명 게임 캐릭터를 4가지 명령어를 통해 움직이려 합니다. 명령어는 다음과 같습니다. U: 위쪽으로 한 칸 가기 D: 아래쪽으로 한 칸 가기 R: 오른쪽으로 한 칸 가기 L: 왼쪽으로 한 칸 가기 캐릭터는 좌표평면의 (0, 0) 위치에서 시작합니다. 좌표평면의 경계는 왼쪽 위(-5, 5), 왼쪽 아래(-5, -5), 오른쪽 위(5, 5), 오른쪽 아래(5, -5)로 이루어져 있습니다. 예를 들어, "ULURRDLLU"로 명령했다면 1번 명령어부터 7번 명령어까지 다음과 같이 움직입니다. 8번 명령어부터 9번 명령어까지 다음과 같이 움직입니다. 이때, 우리는 게임 캐릭터가 지나간 길 중 ..