본문 바로가기

반응형

PS

(332)
[BOJ] 백준 1935 후위 표기식2 (Swift) 문제 https://www.acmicpc.net/problem/1935 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net 풀이 스택을 사용하여 풀 수 있는 문제 먼저, 이 문제를 풀려면 후위 표기식을 계산하는 방법에 대해 알아야 한다. 후위표기식을 계산하는 방법 숫자가 들어오면 스택에 넣어줌 연산자가 들어오면 스택에서 2개의 숫자를 뽑고 연산 처리 다시 스택에 넣음 마지막 스택에 남은 수가 계산된 결과 뺄셈과 나눗셈을 순서에 주의하여 풀이하면 쉽게 풀 수 있는 문제 소스코드 후기 스택 자료구조의 기본..
[Swift] 백준 문제를 풀면서 겪은 시간초과 유형 #1. 빠른 입출력 먼저, 백준에서 readLine, print 메서드가 다른 언어에서 보다 느리다. 입력은 라이노님이 fread 방식을 swift 버전으로 작성한 코드로 해결할 수 있음. 출력 같은 경우에는 print를 여러번 호출하는 것 보다, string 변수에 저장하고, 한 번에 출력하는 것이 더 빠름 예를 들어, 1 2 3 ... 100,000 을 호출한다고 할 때 print(1) print(2) print(3) ... print(100_000) 보다 var str = "" str += "1\n" str += "2\n" str += "3\n" ... str += "100000\n" print(str) 이 더 빠르다. #2. 메서드, 프로퍼티의 시간 복잡도를 알고 풀자. Swift에서 제공하는 몇..
[BOJ] 백준 28278 스택 2 (Swift) 문제 https://www.acmicpc.net/problem/28278 28278번: 스택 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 풀이 스택 자료구조의 동작과정을 안다면 쉽게 풀 수 있는 문제 스택을 struct나 class로 구현해도 문제없지만, 간단하게 구현이 가능해서 따로 구현하지는 않았습니다. 소스코드 후기 스택을 처음 접할 때, 연습삼아서 풀기에는 좋을 것 같다. 완전 생 기본문제
[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를 ..
[BOJ] 백준 6080 Bad Grass (Swift) 문제 https://www.acmicpc.net/problem/6080 6080번: Bad Grass Bessie was munching on tender shoots of grass and, as cows do, contemplating the state of the universe. She noticed that she only enjoys the grass on the wide expanses of pasture whose elevation is at the base level of the farm. Grass from elevations just www.acmicpc.net 풀이 Bad Grass의 개수를 찾는 문제입니다. 0 이상의 숫자로 된 섬이 Bad Grass 입니다. 0보다 큰 숫자에 대..
[BOJ] 백준 1543 문서 검색 (Swift) 문제 https://www.acmicpc.net/problem/1543 1543번: 문서 검색 세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한 www.acmicpc.net 풀이 완전탐색으로 풀 수 있는 문제입니다. 문서의 0번째 문자열부터 검색하고 싶은 단어의 길이만큼을 하나씩 확인해줍시다. 주의할 점으로는 단어를 찾았다면, 중복되지 않게 찾아야 하므로, index를 단어의 길이만큼 늘려주어야 합니다. 소스코드 후기 완전탐색으로 쉽게 풀 수 있는 문제였습니다.
[BOJ] 백준 3085 사탕 게임 (Swift) 문제 https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net 풀이 완전탐색으로 풀이할 수 있습니다. 약간 애니팡 게임과 비슷한 문제였습니다. 모든 사탕에 대해서 인접한 사탕과 교환을 해본 후, 가장 긴 연속 부분을 확인해주는 작업을 거쳐서 최대 개수를 구할 수 있습니다. 소스코드 후기 답을 쉽게 구할 수 있는데 구현하는 것이 약간 까다로웠던 문제였습니다.
[BOJ] 백준 18352 특정 거리의 도시 찾기 (Swift) 문제 https://www.acmicpc.net/problem/18352 18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net 풀이 X번 노드에서 도달할 수 있는 도시들의 최단 거리를 구해야 합니다. 간선의 비용이 모두 동일하므로 BFS를 사용해서 풀이할 수 있는 문제입니다. 저는 visited라는 Int 배열을 선언하였고, 값을 X번 노드에서의 최단 거리로 사용하였습니다. visited 배열 중 값이 k와 같은 노드를 출력시켜주었고, 없다면 ..

반응형