[BOJ] 백준 2920 음계 (Swift)
문제 https://www.acmicpc.net/problem/2920 2920번: 음계 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8 www.acmicpc.net 풀이 이 문제는 입력받은 배열이 1, 2, 3, 4, 5, 6, 7, 8 과 같이 1부터 8까지 오름차순으로 되어있으면 ascending 8, 7, 6, 5, 4, 3, 2, 1 과 같이 8부터 1까지 내림차순으로 되어있으면 descending 그 외 mixed 를 출력하면 되는 문제 소스코드 후기 sorted 메서드로 쉽게 풀 수 있는 문제 굳이 s..
[BOJ] 백준 2577 숫자의 개수 (Swift)
문제 https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 풀이 먼저 a, b, c를 입력받은 후, 곱을 구해줬다. 곱한 수는 Int 자료형 형식인데, 이를 Int 배열로 변경하여 카운트를 세려고 했는데, Dictionary를 사용하는 것이 더 편할 것 같아서 Dictionary로 변경해주었다. Dictionary의 여러 생성자가 있지만 uniquingKeysWith를 파라미터로 사용하는 생성자를 사용하여, 튜플 형식으로 변환해준 Array를 겹치는 키가 있다면 value를 더하는 방식으로 Diction..
[BOJ] 백준 1205 등수 구하기 (Swift)
문제 https://www.acmicpc.net/problem/1205 1205번: 등수 구하기 첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보 www.acmicpc.net 풀이 존재하는 랭킹 리스트에서 점수를 입력받고, 자신의 등수를 출력하는 문제입니다. 하지만 리스트의 길이보다 낮다면 랭킹 리스트에 올라갈 수 없으므로 -1을 출력해주어야 합니다. 기존의 랭킹 리스트에서 입력받은 점수를 넣어주고, 내림차순으로 정렬을 해주었습니다. 점수가 랭킹리스트에 올라갈 수 없을 정도로 낮은지 확인하기 위해서 랭킹 리스트에서 lastIndex를 ..