분류 전체보기 (395) 썸네일형 리스트형 [BOJ] 백준 11650 좌표 정렬하기 (Swift) 문제 https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 풀이 x좌표로 오름차순, x좌표가 같다면 y좌표로 오름차순으로 정렬해주는 문제입니다. Swift에서는 고차함수 sort 메서드의 파라미터인 Bool타입을 리턴해주는 클로저로 어떤 식으로 정렬을 해줄지 정의할 수 있습니다. x좌표가 같다면? y좌표를 오름차순으로 정렬하고, 같지 않다면 x좌표를 오름차순으로 정렬하도록 작성을 해주었습니다. 소.. [BOJ] 백준 1427 소트인사이드 (Swift) 문제 https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 N을 String 자료형으로 입력받아서 내림차순으로 정렬 후, 출력해주면 되는 문제입니다. String을 sorted 메서드로 정렬한다면 Character 자료형의 배열로 리턴하게되는데, 이것을 String 자료형으로 감싸주면 됩니다. 소스코드 후기 String으로 입력받으면 쉽게 풀 수 있는 문제입니다. [BOJ] 백준 2108 통계학 (Swift) 문제 https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 풀이 수를 입력받아서 산술평균, 중앙값, 최빈값, 범위를 구하는 문제입니다. 먼저 입력받은 수를 Int 배열에 넣어주겠습니다. 가장 먼저, 산술평균을 구해봅시다. 산술평균은 N개의 수들의 합을 N으로 나눈 값 이고, 소수점 이하 첫째 자리에서 반올림한 값을 출력해주어야 합니다. Int 배열에 넣어줬기 때문에 합을 N으로 나눈다면 반올림한 값을 구할 수 없을 것입니다. 고차함수 map을 사용해 Double .. [BOJ] 백준 10989 수 정렬하기 3 (Swift) 문제 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 수가 최대 10,000,000개가 등장할 수 있습니다. 이는 $O(n)$, $O(n\log{n})$의 시간복잡도가 걸리는 정렬로는 풀이할 수 없습니다. 이 수는 10,00보다 작거나 같은 자연수라는 것에 힌트를 얻어 counting 정렬을 사용할 수 있습니다. Swift에서는 입력(readLine)과 출력(print)이 백준에서 다른 언어에 비해 많이 느립니다. 출력을 문자열에 계속해서 더해주어 한 번만 .. [BOJ] 백준 2571 수 정렬하기 2 (Swift) 문제 https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 풀이 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 위 문제와 동일한 문제입니다. (단순히 N의 최대값이 1,000,000).. [BOJ] 백준 25305 커트라인 (Swift) 문제 https://www.acmicpc.net/problem/25305 25305번: 커트라인 시험 응시자들 가운데 1등은 100점, 2등은 98점, 3등은 93점이다. 2등까지 상을 받으므로 커트라인은 98점이다. www.acmicpc.net 풀이 k등의 점수가 커트라인 이므로, k등의 점수를 출력해주면 되는 문제입니다. 점수들을 입력받고 내림차순으로 정렬한 후, k-1번 인덱스의 요소를 출력해주면 되는 문제입니다. 소스코드 후기 정렬만 해주면 쉽게 풀 수 있는 문제입니다. [BOJ] 백준 2587 대표값2 (Swift) 문제 https://www.acmicpc.net/problem/2587 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + www.acmicpc.net 풀이 평균은 입력받은 수들의 합 / 5 입니다. 중앙값은 입력받은 수를 정렬 한 후, 2번 인덱스가 중앙값 입니다. 이것을 출력만 해주면 되는 문제입니다. 소스코드 후기 고차함수 reduce를 사용해 배열의 합을 구할 수 있습니다. 중앙값을 구하기 위해서는 자연수가 총 5개이므로 배열에 넣어주고 정렬해준 후, 2번 인덱스에 있는 요소를 출력하면 됩니다. [BOJ] 백준 2750 수 정렬하기 (Swift) 문제 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 풀이 Array에 내장된 sort 혹은 sorted 메서드를 사용해 풀 수 있는 문제입니다. 소스코드 후기 직접 정렬을 구현하는 방법도 있겠지만, 내장함수를 쓰면 쉽게 풀 수 있는 문제입니다. 이전 1 ··· 31 32 33 34 35 36 37 ··· 50 다음