문제 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net 정렬 알고리즘 1. 국어 점수를 내림차순으로 정렬한다. 2. 국어 점수가 같다면, 영어 점수를 오름차순으로 정렬한다. 3. 영어 점수가 같다면, 수학 점수를 내림차순으로 정렬한다. 4. 수학 점수가 같다면, 이름을 오름차순으로 정렬한다. 나의 코드 struct Score { // 이름 및 점수 저장 var name: String var korean: Int var english: Int var math: Int } let n = Int(..
문제 사이트 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net 알고리즘 - 수열이 시작되는 삼각형을 잘 선택해야 헷갈리지 않고 규칙을 찾을 수 있다. - 순서를 나열해보면, 6번째 삼각형부터 규칙이 있다는 것을 알아차릴 수 있을 것이다. 나의 코드 let t = Int(readLine()!)! var dp = [0, 1, 1, 1, 2, 2] for i in 6...100{ dp.append(dp[i-1] + dp[i-5]) } for _ in 0..
문제 사이트 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 알고리즘 BFS 탐색을 하는데, 동생위치에서의 depth를 구해야한다. 나의 코드 var visited = [Bool](repeating: false, count: Int(1e5)+1) let input = readLine()!.split(separator: " ").map{ Int($0)! } var depth = [Int](repeating: 0, count: Int(1e5)+1) var queue = [input[0]..
문제 사이트 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 알고리즘 n, m을 입력받는다. graph를 초기화한다. (빈 배열, 길이 = node 개수 + 1) 방문확인 여부를 저장하는 배열을 만든다. (node 개수 + 1) 간선을 입력받아 graph에 저장한다. (양방향으로 저장할 수 있도록) dfs를 실행한다. main에서 실행된 dfs의 수 = 연결 요소의 개수 나의 코드 let datas = readLine()!.split(separato..
문제 사이트 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net 알고리즘 1. 테스트 케이스 입력받고, 반복문 수행 2. n 입력받기 3. n이 0일 경우, 0 출력 후 continue 이 코드 없으면 런타임에러나요! 4. n만큼 반복하며 Dictionary 입력받기 ( 키가 있는경우, 없는 경우 구분해서 받아야해요) 5. value + 1을 구하여 result_arr에 삽입 첫번째 키에 (A, B)라는 옷이 있을 때, ..
문제 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 알고리즘 DFS 사용 1. DFS를 수행한다.(시작노드 = 1) 2. 방문한 노드의 개수를 구한 후 1을 빼서 출력한다. ( 1에 의해 바이러스에 걸린 컴퓨터의 개수 => 1은 포함하지 않음) 나의 코드 // dfs func dfs(n: Int){ visited[n] = true for i in graph[n]{ if !visited[i]{ dfs(n: i) } } } // 선언 및 초기화 let node: Int = Int(readLine()!)! let ed..
문제 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 알고리즘 부르트 포스 (완전탐색 알고리즘) 설명 바로가기 1. 난쟁이 키를 입력받는다. 2. 9명의 난쟁이들의 키 합을 구한다. 3. 가짜 난쟁이 2명의 키 = 9명의 난쟁이 키 - 100 4. 2중 for문을 이용하여 가짜 난쟁이를 찾으면 된다. a. 첫 번째 for문 : 0번째 부터, 8번째까지 (총 9명)의 난쟁이를 탐색 - 두 번째 for문에서 i+1 을 탐색할텐데, 만약 i = 9이라면, j = 10 -> 배열[10] -> Index error가 발생합니다..
- Total
- Today
- Yesterday
- 깃허브
- do while
- SwiftUI
- 레플릿
- 기초 100제
- 설명
- replit
- 파이썬
- 시간초과
- 16진수 입력
- 이것이 코딩테스트다
- python
- 리플릿
- 반복문
- 코드업
- ord
- baekjoon
- 정답
- COMMIT
- 부르트포스
- 코드 업
- CodeUp
- Code up
- CHR
- for문
- 백준
- 깃
- level1
- 프로그래머스
- Swift
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |