โ๏ธ ์ฝํ
์ค๋น/Implementation
2022.06.09
๋ฌธ์ ์ฝ๋ฉํ
์คํธ ์ฐ์ต - 124 ๋๋ผ์ ์ซ์ programmers.co.kr ํ์ด ์ธ์ด Python ํ์ด ๋ฐฉ๋ฒ ์ฐ์ ์ง๋ฒ ๋ณํ ๋ฌธ์ ์ด๋ค. ์ข ํน์ดํ๊ธด ํ๋ฐ 3๊ฐ์ ์ซ์๋ฅผ ์ฌ์ฉํ๋ฏ๋ก 3์ง๋ฒ์ ์๊ฐํ๋ฉด ๋๋ค. ํ์ง๋ง 10์ง์ 3์ ๋ณํํ์ ๋ 10์ด ์๋๋ผ 4๊ฐ ๋์ค๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ์ด๋ป๊ฒ ๋ณํ์ ํด์ผํ๋ ๊ฒ์ผ๊น? ์ฐ์ ๋ณํ ์ ๊ณผ ๋ณํ ํ๋ฅผ ํ๋ก ๋ํ๋ด๋ดค๋ค. 10์ง๋ฒ 3์ง๋ฒ 124 ๋๋ผ 1 1 1 2 2 2 3 10 4 4 11 11 5 12 12 6 20 14 3์ผ๋ก ๋๋์ด ๋จ์ด์ง๋ ๊ฒฝ์ฐ์๋ง ํน์ดํ ๊ฐ์ ๊ฐ๋ ๊ฑธ ๋ณผ ์ ์๋๋ฐ ์ฌ๊ธฐ์๋ ๊ท์น์ด ์๋ค. ๋งจ ์ ์ซ์์์ -1 ์ ํ๊ณ ๋ค์ 0์ 4๋ก ๋ณํํด์ค๋ค๋ ์ . ์ฆ, 3์ผ๋ก ๋๋์ด ๋จ์ด์ง๋ ๊ฒฝ์ฐ ๋ชซ์์ -1์ ํด์ค๋ค๋ ์๋ฏธ์ด๋ค. ์ฝ๋ def solu..
โ๏ธ ์ฝํ
์ค๋น/Binary Search
2022.06.09
์
๋ ฅ ์์ ํ์ด ์ธ์ด Python ํ์ด ๋ฐฉ๋ฒ ์ ๋ ฌ๋ ๋ฐฐ์ด์์ target์ ๋ง์กฑํ๋ ๋ ์์์ index๋ฅผ ๋ฐํํ๋ ๋ฌธ์ ์๋ค. ์ค๋ฆ์ฐจ์์ ์ ๋ ฌ๋ ๋ฐฐ์ด์ด์๊ธฐ์ BST ๋ฌธ์ ๋ผ๊ณ ์๊ฐํ๋ค. ์ด๋ ต์ง ์๊ฒ ํด๊ฒฐํ๋ค. ์ฝ๋ class Solution: def twoSum(self, numbers: List[int], target: int) -> List[int]: start = 0 end = len(numbers) - 1 while start target: end -= 1 elif mid < target: start += 1 else: return [start + 1, end + 1] ๊ฒฐ๊ณผ
โ๏ธ ์ฝํ
์ค๋น/Back Tracking
2022.04.10
๋ฌธ์ ํ์ด ์ธ์ด Kotlin ์ฝ๋ import java.lang.Integer.min import java.util.* import kotlin.math.abs import kotlin.system.exitProcess lateinit var board: Array lateinit var visited: Array var min_value = Int.MAX_VALUE var n = 0 fun main() = with(Scanner(System.`in`)) { n = nextInt() board = Array(n) { Array(n) { nextInt() } } visited = Array(n) { 0 } search(0, 0) println(min_value) } fun search(index: Int,..
โ๏ธ ์ฝํ
์ค๋น/Back Tracking
2022.04.10
๋ฌธ์ ํ์ด ์ธ์ด Kotlin ์ฝ๋ import java.util.* var l = 0 var c = 0 lateinit var array: Array lateinit var sortedArray: Array lateinit var visited: Array var stringBuilder = StringBuilder() fun main() = with(Scanner(System.`in`)) { l = nextInt() c = nextInt() array = Array(c) { next() } sortedArray = array.sortedArray() visited = Array(c) { 0 } dfs(0, 0) println(stringBuilder) } fun dfs(index: Int, depth:..
โ๏ธ ์ฝํ
์ค๋น/Back Tracking
2022.04.10
๋ฌธ์ ํ์ด ์ธ์ด Kotiln ์ฝ๋ import java.lang.Integer.max import java.util.* var n = 0 var m = 0 var max_value = 0 val dx = listOf(-1, 1, 0, 0) val dy = listOf(0, 0, -1, 1) lateinit var board: Array lateinit var check: Array fun main() = with(Scanner(System.`in`)) { n = nextInt() m = nextInt() board = Array(n) { Array(m) { "" } } check = Array(26) { 0 } for (i in 0 until n) { val s = next().chunked(1) for..
โ๏ธ ์ฝํ
์ค๋น/Math
2022.04.06
์ดํญ ๊ณ์ 1 ๋ฌธ์ ํ์ด ์ธ์ด Kotiln ์ฝ๋ import java.util.* lateinit var array: Array var n = 0 var k = 0 fun main() = with(Scanner(System.`in`)) { n = nextInt() k = nextInt() // ์ฌ๊ท ๋์ DP๋ก ํฉํ ๋ฆฌ์ผ ๊ตฌํ array = Array(n + 1) { 1 } // ํฉํ ๋ฆฌ์ผ ๊ณ์ฐ for (i in 2..n) { array[i] = array[i - 1] * i } // ์กฐํฉ ๊ณต์ ์ ์ฉ // nCr = n! / (n-r)! * r! println(array[n] / (array[n - k] * array[k])) } ํ์ด ๋ฐฉ๋ฒ ๊ณ ๋ฑํ๊ต ๋ ๋ฐฐ์ด ์กฐํฉ ๊ณต์ ์ ์ ์ฉํ๋ฉด ์ด๋ ต์ง ์๊ฒ ํด๊ฒฐํ ์ ์..
โ๏ธ ์ฝํ
์ค๋น/Implementation
2022.04.04
๋ฌธ์ ํ์ด ์ธ์ด Kotlin ์ฝ๋ import java.util.* data class Point( val x: Int, val y: Int ) data class Points( val red_x: Int, val red_y: Int, val blue_x: Int, val blue_y: Int, val depth: Int ) data class Infos( val x: Int, val y: Int, val cnt: Int ) lateinit var array: Array val dx = arrayOf(1, -1, 0, 0) val dy = arrayOf(0, 0, 1, -1) var n = 0 var m = 0 var red = Point(0, 0) var blue = Point(0, 0) fun mai..
โ๏ธ ์ฝํ
์ค๋น/Back Tracking
2022.03.31
๋ฌธ์ ํ์ด ์ธ์ด kotlin ์ฝ๋ import java.lang.Integer.max import java.lang.Integer.min import java.util.* var n = 0 var max_value = Int.MIN_VALUE var min_value = Int.MAX_VALUE lateinit var array: Array lateinit var operator: Array fun main() = with(Scanner(System.`in`)) { n = nextInt() array = Array(n) { nextInt() } operator = Array(4) { nextInt() } calculate(array[0], 1) println(max_value) println(min_va..
โ๏ธ ์ฝํ
์ค๋น/Back Tracking
2022.03.30
๋ฌธ์ ํ์ด ์ธ์ด Kotlin ์ฝ๋ import java.util.* import kotlin.system.exitProcess lateinit var board: Array fun main() = with(Scanner(System.`in`)) { board = Array(9) { Array(9) { 0 } } // ์ฃผ์ด์ง ๋ฐฐ์ด์ ์
๋ ฅ๋ฐ์ for (i in 0 until 9) { for (j in 0 until 9) { board[i][j] = nextInt() } } // (0, 0) ๋ถํฐ ์์ sudoku(0, 0) } fun check(row: Int, col: Int, value: Int): Boolean { // 1. ๊ฐ์ ํ, ๋ค๋ฅธ ์ด์ ๊ฐ์ ๊ฐ์ด ์กด์ฌํ๋์ง ํ์ธ for (i in 0 unti..
โ๏ธ ์ฝํ
์ค๋น/Back Tracking
2022.03.29
๋ฌธ์ ํ์ด ์ธ์ด Kotlin ์ฝ๋ import java.util.* import kotlin.math.abs lateinit var array: Array var n = 0 var cnt = 0 fun main() = with(Scanner(System.`in`)) { n = nextInt() array = Array(n) { 0 } nQueen(0) println(cnt) } fun nQueen(depth: Int) { // depth๋ row if (depth == n) { println(depth) cnt++ return } for (i in 0 until n) { // i๋ col array[depth] = i if (check(depth)) { nQueen(depth + 1) } } } fun ..