본문 바로가기

반응형

PS/백준

(318)
[BOJ] 백준 2562 최댓값 (Swift) 문제 https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 풀이 array의 인스턴스 메서드인 max에 대해 안다면 최댓값을 쉽게 구할 수 있음 [공식문서 (max)] array의 인스턴스 메서드인 firstIndex에 대해 안다면 최댓값이 몇 번째 수인지 쉽게 구할 수 있음 [공식문서 (firstIndex)] index는 0부터 시작하니깐 찾은 index에서 1을 더해서 출력해주자..! 소스코드 후기 firstInd..
[BOJ] 백준 10818 최소, 최대 (Swift) 문제 https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 풀이 문제 제목 그대로 배열의 최소 값, 최대 값을 구하는 문제 min(), max()로 배열의 최소 값, 최대 값을 구하면 되겠군! 소스코드 후기 Array 자료형의 min(), max() 인스턴스 메서드를 알 고 있다면 쉽게 풀 수 있는 문제
[BOJ] 백준 10871 X보다 작은 수 (Swift) 문제 https://www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 풀이 배열을 입력받아서 입력 받은 배열중 X보다 작은 수를 출력시키는 문제 반복문을 돌려서 X보다 작으면 출력, 아니면 continue 하는 방식으로 풀이할 수 있음 Swift에서는 고차함수 중 하나인 filter를 사용해서 X보다 작은 수들만 걸를 수 있음 소스코드 후기 입력받은 배열을 반복문을 사용해서 돌면서 원소가 X보다 작은지 체크하는 방법도 있지만, filter를 사..
[BOJ] 백준 10807 개수 세기 (Swift) 문제 https://www.acmicpc.net/problem/10807 10807번: 개수 세기 첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거 www.acmicpc.net 풀이 고차함수인 filter를 사용하면 쉽게 풀이할 수 있는 문제 소스코드 후기 for문으로 array를 돌면서 v와 같으면 count를 1씩 늘려주는 방식으로도 풀이가 가능 하지만 filter에 대해 안다면 filter를 써서 풀이하는게 depth도 줄어들고 더 직관적인 것 같다.
[BOJ] 백준 1110 더하기 사이클 (Swift) 문제 https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 풀이 문제를 차근차근 읽고 풀어보자. 먼저, 새롭게 만들어질 수, 계산에 사용될 수, 그리고 맨 처음 입력받은 수를 선언한다. 새로운 수는 -1로 초기화를 해줌 (입력 받은 수가 0보다 크고 99보다 작기 때문, -1, 100, 101 머 상관없음) while문을 돌리고, 종료 조건은 새로운 수가 맨 처음 입력받은 수와 같을 때로 설정 이제 문제에 나온 것을 그대로 작성해서 새..
[BOJ] 백준 10951 A+B - 4 (Swift) 문제 https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 Swift에서 cmd + D 를 입력해서 EOF를 입력시킬 수 있음 EOF가 나오기 전까지 입력을 받으려면 while-let 구문으로 입력받을 수 있음 10952 문제에서 사용한 while let에 입력이 [0, 0]이 아닌지 확인하는 조건만 지우면 정답 https://dev-mandos.tistory.com/50 [BOJ] 백준 10952 A+B - 5 (Swift) 문제 https://www.acmicpc.net/problem/10952 10952번: A+B - 5 두 정수 A와 B를 입력받..
[BOJ] 백준 10952 A+B - 5 (Swift) 문제 https://www.acmicpc.net/problem/10952 10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 while문을 사용해 특정 문자가 나오기 전까지 반복문을 돌릴 수 있음 while let 구문으로 optional을 언래핑할 수 있고, 콤마를 찍어 조건을 설정할 수 있음 조건은 입력받은 input이 [0, 0]이 아니라면 계속해서 반복문을 돌리도록 작성하였음 input이 [0, 0]이라면 while문을 탈출할 수 있도록 break 구문을 작성해도 무방할 것 같다.. 소스코드 후기 while let 문법을 잘 사용하지 않았는데 알고만 있어서 이 문제에 적용하면 좋을 것 같아서 사용해봤음 brea..
[BOJ] 백준 2439 별 찍기 - 2 (Swift) 문제 https://www.acmicpc.net/problem/2439 2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 풀이 별 찍기 - 1 과 비슷한 문제 https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net 마찬가지로 2중 for문으로 풀이하거나 String(repeating: String, count: Int) 문법을 사용해서 풀 수 있는 문제 print문의 terminator 옵션을 알아야 할 ..

반응형