주식 매도/매수 방법이 다른 준현이와 성민이. 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번 명령어까지 다음과 같이 움직입니다. 이때, 우리는 게임 캐릭터가 지나간 길 중 ..
https://school.programmers.co.kr/learn/courses/30/lessons/42577 def solution(phone_book): answer = True phone_book.sort() for i in range(len(phone_book) - 1): if phone_book[i + 1].startswith(phone_book[i]): answer = False return answer return answer startswith이라는 함수가 있다는 걸 오늘 처음 알았다..😓 이런 함수들을 알고 활용할 줄 아는게 파이썬의 장점인데..! 더 공부해보자
시간복잡도 때문에 애먹었던 문제.. 문제 자체는 간단하지만 카운터 사용법을 잘 몰라서 헤맸다. 토핑이 여러 개 올라가 있는 롤케이크를 철수와 동생이 잘라 먹는데, 무조건 두 조각의 토핑 종류 개수가 같아야 하는 문제였다. 일단 동생에게 토핑을 다 주고, 하나씩 철수가 받아서 토핑 개수를 확인하는 방향으로 코드를 짰다. 명심하자 set은 시간복잡도 O(n)이라는 걸..!!! from collections import Counter def solution(topping): answer = 0 # 형, 동생 토핑 리스트 a = {} b = Counter(topping) for i in range(len(topping)): if topping[i] in a: a[topping[i]] += 1 else: a[to..