10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 문제풀이 적록색약이 아닌 사람이 봤을 때의 구역수를 DFS로 구할 때 초록색인 구역은 빨간색으로 바꿔준다. 그리고 다시 적록색약인 사람이 봤을 때의 구역수를 DFS로 구해준다. C++ 코드
10711번: 모래성 첫째 줄에는 모래성의 가로세로 격자 크기 H, W가 주어진다. (1 ≤ H, W ≤ 1,000) 그 다음 H줄에 걸쳐 W개의 문자로 모래성의 상태를 나타내는 문자가 들어온다. 각 문자는 1~9 사이의 숫자, 또는 '.' 이 www.acmicpc.net 문제풀이 처음 시도했을 때는 모래성을 모두 queue에 넣고 8방향을 모두 살펴 무너지는지 확인 후 무너지지 않는 모래성을 queue에 다시 넣어줬다. 결과는 시간초과.. 더보기 #include #include #define MAX 1001 using namespace std; int h, w; int map[MAX][MAX]; bool visited[MAX][MAX]; int dx[] = { -1, 1, 0, 0, -1, -1, 1,..
단계별 문제풀이 11단계 브루트포스 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net with() 함수는 어떤 객체의 이름을 반복하지 않고 객체에 대해 다양한 연산을 수행할 수 있게 해준다. BufferedReader(InputStreamReader(System.`in`) 대신 System.`in`.bufferedReader()를 사용하면 코드도 깔끔해지고 import를 줄일 수 있다. 각 사람의 몸무게와 키를 입력받아서 split(), map() 함수를 사용하여 정수로 바꿔주었다. 덩치가 더 큰 ..
단계별 문제풀이 8단계 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 단계별 문제풀이 9단계 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 에라토스테네스의 체로 소수가 아닌 수들을 먼저 거르고 소수인 수들만 op에 저장 n / 2 이하의 소수들을 확인하면서 골드바흐 파티션을 찾는다 단계별 문제풀이 10단계 10872번: 팩토리얼 0보다 크거나 같은 ..
단계별 문제풀이 1단계 2557번: Hello World Hello World!를 출력하시오. www.acmicpc.net 10718번: We love kriii ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르게 올해에도 파주 World Finals 준비 캠프에 참여했다. 대회를 뜰 줄 모르는 지박 www.acmicpc.net 코틀린에서는 for문에 in 키워드를 사용한다. ..으로 범위를 지정할 수 있는데 첫 번째 값과 마지막 값이 모두 범위에 포함된다. 마지막 값을 포함하고 싶지 않다면 until을 쓰면 된다 역순으로 진행하고 싶다면 downTo를 사용하면 되고 step 2를 설정해주면 -2씩 감소한..
단계별 문제풀이 3단계 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net 단계별 문제풀이 6단계 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net selfNumber가 true이면 d(n)이 10000 이하일 때까지 반복해서 selfNumber가 아닌 수들을 걸러주었다. d(n) 함수는 n과 n의 각 자리수를 더하는 함수이다. 단계별 문제풀이 7단계 2908번: ..
입력 1. readLine() 함수 한 줄의 텍스트를 입력받는 함수. readLine()은 String? 타입으로 입력을 받는다. String?은 String이지만 null 타입을 허용한다는 의미이다. 예제를 통해 살펴보자. fun main() { val size : Int = readLine()!!.toInt() val arr = Array(size) { readLine()!!.toInt() } var sum = 0 for (i in arr) { sum += i } println("총합 : $sum") } readLine()!!는 readLine()이 null을 허용하는 타입이지만, 강제적으로 null이 아니라고 알려주고 type을 변환하는 것이다. 데이터가 무조건 문자열 형식으로 저장되기 때문에 숫자..
Hello World fun main() = println("Hello World") Variables 데이터 타입을 지정하지 않아도 변수값에 따라 자동으로 데이터 타입이 지정된다. 데이터 타입을 직접 지정하고 싶을 때는 :를 쓰면 된다. var name : String = "John" // String var birthyear = 1998 // Int (number) 변수를 초기화하지 않고 선언만 할 때는 데이터 타입을 명시해주어야 한다. var name : String name = "Jennie" println(name) 코틀린에서는 2가지 변수 선언 방식이 있다. var : 일반적인 변수. 값 변경 가능 val : 상수. 값 변경 불가능 var name = "John" name = "Stephen"..
- Total
- Today
- Yesterday
- 스택
- 정렬
- 그래프
- SWEA
- 트리
- dfs
- algorithm
- 큐
- 배열
- 브루트포스
- SW Expert Academy
- BFS
- BOJ
- 알고리즘
- 투 포인터
- 자바
- Kotlin
- 위상 정렬
- 이분 탐색
- 백준
- 프로그래머스
- C++
- 재귀
- Two Pointer
- 문자열
- 구현
- programmers
- 분할 정복
- Java
- 두 포인터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |