Algorithm

[Algorithm/Swift] 깊이 μš°μ„  탐색 (DFS)

2023. 6. 3. 00:34
λͺ©μ°¨
  1. 깊이 μš°μ„  탐색 (DFS, Depth-First Search)
  2. DFS κ΅¬ν˜„ 방법
  3. πŸ€” DFSμ—μ„œ μŠ€νƒμ„ μ‚¬μš©ν•˜λŠ” 이유
  4. Swift둜 DFS κ΅¬ν˜„ν•˜κΈ° (feat. BOJ 1260)

 

πŸ“š

 

벌써 6μ›”μž…λ‹ˆλ‹€ 🫠

μ˜€λŠ˜μ€ μ•Œκ³ λ¦¬μ¦˜μ—μ„œ κΌ­ μ•Œμ•„μ•Ό ν•˜λŠ” DFS !!

μ €λ²ˆ κΈ€μ—μ„œ μ•„μ£Ό 짧게 μ–ΈκΈ‰ν–ˆμ—ˆλŠ”λ°

μ˜€λŠ˜μ€ κ°œλ… + μ½”λ“œλ‘œ 잘근잘근 μ”Ήμ–΄λ΄…μ‹œλ‹€ 😬

 

 


 

 

깊이 μš°μ„  탐색 (DFS, Depth-First Search)

κ·Έλž˜ν”„ 탐색 μ•Œκ³ λ¦¬μ¦˜ 쀑 ν•˜λ‚˜λ‘œ, μ£Όμ–΄μ§„ κ·Έλž˜ν”„μ—μ„œ ν•œ 정점을 μ‹œμž‘μœΌλ‘œ κ·Έλž˜ν”„λ₯Ό νƒμƒ‰ν•˜λŠ” 방법이닀. κ·Έλž˜ν”„λŠ” 정점(λ…Έλ“œ)κ³Ό κ°„μ„ μ˜ μ§‘ν•©μœΌλ‘œ 이루어진 자료ꡬ쑰둜, 각 정점은 λ‹€λ₯Έ 정점과 연결될 수 μžˆλ‹€. νƒμƒ‰ν•˜λ €λŠ” λ…Έλ“œμ˜ μžμ‹ λ…Έλ“œλΆ€ν„° μš°μ„  탐색(깊이λ₯Ό μš°μ„ ν•˜μ—¬ 탐색)ν•˜λŠ” 방식이닀. 탐색 κ³Όμ •μ—μ„œ μ„ νƒν•œ λ…Έλ“œμ— μ—°κ²°λœ λ…Έλ“œλ“€μ„ λͺ¨λ‘ λ°©λ¬Έν•œ ν›„μ—λŠ” 이전 λ…Έλ“œ(λΆ€λͺ¨ λ…Έλ“œ)둜 λŒμ•„κ°€μ„œ λ‹€λ₯Έ μ—°κ²°λœ λ…Έλ“œλ₯Ό μ„ νƒν•œλ‹€. 이 과정을 λ°˜λ³΅ν•˜μ—¬ κ·Έλž˜ν”„μ˜ λͺ¨λ“  정점을 λ°©λ¬Έν•œλ‹€. DFSλŠ” 주둜 κ·Έλž˜ν”„ μˆœνšŒλ‚˜ μŠ€λ„μΏ  λ“±μ˜ λ¬Έμ œμ—μ„œ ν™œμš©λœλ‹€.

ko.wikipedia.org - Mre

πŸ”Ž μˆ«μžκ°€ 탐색 μˆœμ„œμž„ ! 탐색 λ…Έλ“œμ˜ μžμ‹ λ…Έλ“œλ“€μ„ λͺ¨λ‘ νƒμƒ‰ν•˜κ³ , λ‹€μ‹œ λŒμ•„κ°€ 탐색 λ…Έλ“œμ˜ λ‹€λ₯Έ 인접 λ…Έλ“œ μžμ‹λ“€μ„ λͺ¨λ‘ 탐색.

 

 

 

DFS κ΅¬ν˜„ 방법

☝🏻 μž¬κ·€ ν•¨μˆ˜ μ‚¬μš©

  • DFS ν•¨μˆ˜ μ •μ˜
  • ν˜„μž¬ λ…Έλ“œλ₯Ό λ°©λ¬Έν•œ κ²ƒμœΌλ‘œ ν‘œμ‹œ
  • ν˜„μž¬ λ…Έλ“œμ™€ μ—°κ²°λœ λͺ¨λ“  이웃 λ…Έλ“œλ₯Ό 확인
  • 이웃 λ…Έλ“œ 쀑 λ°©λ¬Έν•˜μ§€ μ•Šμ€ λ…Έλ“œλ₯Ό μž¬κ·€μ μœΌλ‘œ ν˜ΈμΆœν•˜μ—¬ DFS μˆ˜ν–‰
  • μž¬κ·€ ν˜ΈμΆœμ„ 톡해 DFSλ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ μŠ€νƒμ˜ 역할을 λŒ€μ‹ 

✌🏻 μŠ€νƒ μ‚¬μš©

  • μŠ€νƒ 생성 ν›„ μ‹œμž‘ λ…Έλ“œλ₯Ό μŠ€νƒμ— λ„£κΈ°
  • μŠ€νƒμ΄ 빌 λ•ŒκΉŒμ§€ λ‹€μŒ μž‘μ—… 반볡
    • μŠ€νƒμ—μ„œ λ…Έλ“œλ₯Ό ν•˜λ‚˜ κΊΌλ‚΄κ³  λ°©λ¬Έν•œ κ²ƒμœΌλ‘œ ν‘œμ‹œ
    • ν•΄λ‹Ή λ…Έλ“œμ™€ μ—°κ²°λœ λͺ¨λ“  이웃 λ…Έλ“œ 쀑 λ°©λ¬Έν•˜μ§€ μ•Šμ€ λ…Έλ“œλ₯Ό μŠ€νƒμ— λ„£κΈ°
  • λͺ¨λ“  λ…Έλ“œλ₯Ό λ°©λ¬Έν•  λ•ŒκΉŒμ§€ 반볡

βœ”οΈ μž¬κ·€ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ μ½”λ“œκ°€ κ°„κ²°ν•΄μ§€μ§€λ§Œ, 호좜 μŠ€νƒμ˜ κΉŠμ΄μ— 따라 μŠ€νƒ μ˜€λ²„ν”Œλ‘œμš°κ°€ λ°œμƒν•  수 μžˆλ‹€. μŠ€νƒμ„ 직접 κ΅¬ν˜„ν•˜μ—¬ μ‚¬μš©ν•˜λ©΄ 호좜 μŠ€νƒμ˜ μ œν•œμ„ ν”Όν•  수 μžˆμ§€λ§Œ μ½”λ“œλŠ” μ’€ 더 λ³΅μž‘ν•΄μ§ˆ 수 있음.

 

 

πŸ€” DFSμ—μ„œ μŠ€νƒμ„ μ‚¬μš©ν•˜λŠ” 이유

DFSλŠ” 깊이λ₯Ό μš°μ„ μœΌλ‘œ κ·Έλž˜ν”„λ₯Ό νƒμƒ‰ν•˜κΈ° λ•Œλ¬Έμ— ν˜„μž¬ λ…Έλ“œμ—μ„œ ν•œ λ°©ν–₯으둜 μ΅œλŒ€ν•œ 깊게 νƒμƒ‰ν•œ 후에 λ‹€μŒ λΆ„κΈ°λ‘œ μ§„ν–‰ν•˜κΈ° μœ„ν•΄μ„œ μŠ€νƒμ„ ν™œμš©ν•œλ‹€. μŠ€νƒμ€ LIFO의 νŠΉμ„±μ„ κ°€μ§€κ³  있기 λ•Œλ¬Έμ— μš”μ†Œλ“€μ„ μ—­μˆœμœΌλ‘œ μ €μž₯ν•  수 μžˆλ‹€.

즉, μŠ€νƒμ„ μ‚¬μš©ν•˜λ©΄ ν˜„μž¬ 탐색 쀑인 경둜λ₯Ό κΈ°μ–΅ν•˜κ³  μœ μ§€ν•  수 μžˆλ‹€. ν˜„μž¬ λ…Έλ“œμ™€ μ—°κ²°λœ 이웃 λ…Έλ“œλ“€ 쀑 ν•˜λ‚˜λ₯Ό μ„ νƒν•˜μ—¬ 탐색을 μ§„ν–‰ν•œ 후에, λ‹€μŒμ— 탐색할 이웃 λ…Έλ“œκ°€ μŠ€νƒμ˜ 맨 μœ„μ— μœ„μΉ˜ν•˜κ²Œ λœλ‹€. μ΄λ ‡κ²Œ ν˜„μž¬ 경둜의 λμ—μ„œλΆ€ν„° 탐색을 계속할 수 μžˆλ‹€.

 

 

 

Swift둜 DFS κ΅¬ν˜„ν•˜κΈ° (feat. BOJ 1260)

Baekjoonμ—μ„œ μ˜ˆμ‹œ 문제λ₯Ό κ°€μ Έμ™”λ‹€. 이 λ¬Έμ œμ— κΈ°μ΄ˆν•˜μ—¬ μ½”λ“œλ₯Ό 짜보겠슴 !!! DFS만 μ§€ κ²ƒμž…λ‹ˆλ‹· πŸ˜‹ ( BFSλŠ” λ‹€μŒ κΈ€μ—μ„œ βˆ™βˆ™βˆ™ )

 

1260번: DFS와 BFS

첫째 쀄에 μ •μ μ˜ 개수 N(1 ≀ N ≀ 1,000), κ°„μ„ μ˜ 개수 M(1 ≀ M ≀ 10,000), 탐색을 μ‹œμž‘ν•  μ •μ μ˜ 번호 Vκ°€ μ£Όμ–΄μ§„λ‹€. λ‹€μŒ M개의 μ€„μ—λŠ” 간선이 μ—°κ²°ν•˜λŠ” 두 μ •μ μ˜ λ²ˆν˜Έκ°€ μ£Όμ–΄μ§„λ‹€. μ–΄λ–€ 두 정점 사

www.acmicpc.net

 

πŸ“ 문제

κ·Έλž˜ν”„λ₯Ό DFS둜 νƒμƒ‰ν•œ 결과와 BFS둜 νƒμƒ‰ν•œ κ²°κ³Όλ₯Ό 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. 단, λ°©λ¬Έν•  수 μžˆλŠ” 정점이 μ—¬λŸ¬ 개인 κ²½μš°μ—λŠ” 정점 λ²ˆν˜Έκ°€ μž‘μ€ 것을 λ¨Όμ € λ°©λ¬Έν•˜κ³ , 더 이상 λ°©λ¬Έν•  수 μžˆλŠ” 점이 μ—†λŠ” 경우 μ’…λ£Œν•œλ‹€. μ •점 λ²ˆν˜ΈλŠ” 1λ²ˆλΆ€ν„° Nλ²ˆκΉŒμ§€μ΄λ‹€.

 

πŸ“ μž…λ ₯

첫째 쀄에 μ •μ μ˜ 개수 N(1 ≀ N ≀ 1,000), κ°„μ„ μ˜ 개수 M(1 ≀ M ≀ 10,000), 탐색을 μ‹œμž‘ν•  μ •μ μ˜ 번호 Vκ°€ μ£Όμ–΄μ§„λ‹€. λ‹€μŒ M개의 μ€„μ—λŠ” 간선이 μ—°κ²°ν•˜λŠ” 두 μ •μ μ˜ λ²ˆν˜Έκ°€ μ£Όμ–΄μ§„λ‹€. μ–΄λ–€ 두 정점 사이에 μ—¬λŸ¬ 개의 간선이 μžˆμ„ 수 μžˆλ‹€. μž…λ ₯으둜 μ£Όμ–΄μ§€λŠ” 간선은 μ–‘λ°©ν–₯이닀.

 

πŸ“ μΆœλ ₯

첫째 쀄에 DFSλ₯Ό μˆ˜ν–‰ν•œ κ²°κ³Όλ₯Ό, κ·Έ λ‹€μŒ μ€„μ—λŠ” BFSλ₯Ό μˆ˜ν–‰ν•œ κ²°κ³Όλ₯Ό 좜λ ₯ν•œλ‹€. VλΆ€ν„° 방문된 점을 μˆœμ„œλŒ€λ‘œ 좜λ ₯ν•˜λ©΄ λœλ‹€.

 

πŸ“ μ˜ˆμ œ μž…λ ₯

4 5 1
1 2
1 3
1 4
2 4
3 4

μœ„ 예제 μž…λ ₯을 기반으둜 κ·Έλž˜ν”„λ₯Ό μ˜ˆμƒν•΄λ³΄λ©΄, 1은 2, 3, 4와 μ—°κ²°, 2λŠ” 1, 4와 μ—°κ²°, 3은 1, 4와 μ—°κ²°, 4λŠ” 1, 2, 3κ³Ό μ—°κ²°λ˜μ–΄ μžˆλ‹€.

 

πŸ“ μ˜ˆμ œ 좜λ ₯

1 2 4 3 // DFS
1 2 3 4 // BFS

 

πŸ“ μ •λ‹΅

let nmr = readLine()!.split(separator: " ").map{Int($0)!}
let n = nmr[0], m = nmr[1], r = nmr[2]
var visitedDFS = [Bool](repeating: false, count: n + 1)
var answerDFS = [Int]()
var graph = [[Int]](repeating: [], count: n + 1)

for _ in 0..<m { // 정점 정보 μ €μž₯
    let uv = readLine()!.split(separator: " ").map{Int($0)!}
    graph[uv[0]].append(uv[1])
    graph[uv[1]].append(uv[0])
}

dfs(r)
print(answerDFS.map{String($0)}.joined(separator: " "))

func dfs(_ start: Int) { // μž¬κ·€λ₯Ό μ΄μš©ν•˜μ—¬ DFS
    visitedDFS[start] = true // ν˜„μž¬ 탐색 정점에 λ°©λ¬Έ
    answerDFS.append(start) // 탐색 κ³Όμ • 기둝 배열에 μ €μž₯
    for node in graph[start].sorted() { // 인접 정점이 μ—¬λŸ¬ 개면 μž‘μ€ 것뢀터
        if !visitedDFS[node] { dfs(node) } // λ°©λ¬Έν•˜μ§€ μ•Šμ€ 정점일 경우 DFS
    }
}

 

πŸ“ 풀이

  • visitedDFSλŠ” λ°©λ¬Έν•œ 정점과 λ°©λ¬Έν•˜μ§€ μ•Šμ€ 정점을 κ΅¬λΆ„ν•˜κΈ° μœ„ν•œ 배열이닀.
  • answerDFSλŠ” 탐색 과정을 κΈ°λ‘ν•˜κΈ° μœ„ν•œ 배열이닀.
  • graphλŠ” 각 정점듀이 간선듀을 톡해 λ‹€λ₯Έ 정점듀과 μ—°κ²°λœ 정보λ₯Ό μ €μž₯ν•˜κΈ° μœ„ν•œ 배열이닀.
    • 0인 정점이 μ—†μœΌλ―€λ‘œ ν¬κΈ°λŠ” n + 1둜 ν•΄μ€€λ‹€.
// graph
[[], [2, 3, 4], [1, 4], [1, 4], [1, 2, 3]]

 

μž¬κ·€ ν•¨μˆ˜ μ‹€ν–‰ 과정이 이해가 잘 μ•ˆ 될 수 μžˆμœΌλ‹ˆ μ•„μ£Ό ν•œ 쀄 ν•œ 쀄 λœ―μ–΄λ³΄μžκ΅¬μ—¬ 🦷

  1. μ²˜μŒμ— dfs(1)둜 인해 graph[1] (1κ³Ό μΈμ ‘ν•œ λͺ¨λ“  정점)λ₯Ό 탐색
  2. 정점 1을 λ°©λ¬Έν•œ κ²ƒμœΌλ‘œ ν‘œμ‹œν•˜κ³  answerDFS에 정점 1을 μΆ”κ°€
    • visitedDFS: [false, true, false, false, false]
    • answerDFS: [1]
  3. 인접 정점을 μˆœνšŒν•˜κΈ° 전에 graph[1]을 μ •λ ¬. μ •λ ¬λœ 인접 정점은 [2, 3, 4]κ°€ λœλ‹€.
  4. 인접 정점을 ν•˜λ‚˜μ”© μˆœνšŒν•˜λ©΄μ„œ μž¬κ·€μ μœΌλ‘œ dfs ν•¨μˆ˜λ₯Ό 호좜
    • 첫 번째 인접 정점인 2λ₯Ό λ°©λ¬Έν•˜μ§€ μ•Šμ•˜μœΌλ―€λ‘œ dfs(2)λ₯Ό 호좜
      • 정점 2λ₯Ό λ°©λ¬Έν•œ κ²ƒμœΌλ‘œ ν‘œμ‹œν•˜κ³  answerDFS에 정점 2 μΆ”κ°€
        • visitedDFS: [false, true, true, false, false]
        • answerDFS: [1, 2]
      • 인접 정점을 μˆœνšŒν•˜κΈ° 전에 graph[2]을 μ •λ ¬. μ •λ ¬λœ 인접 정점은 [1, 4]κ°€ λœλ‹€.
      • 인접 정점 μ€‘μ—μ„œ λ°©λ¬Έν•˜μ§€ μ•Šμ€ 정점 4λ₯Ό λ°œκ²¬ν•˜κ³  dfs(4)λ₯Ό 호좜
        • 정점 4λ₯Ό λ°©λ¬Έν•œ κ²ƒμœΌλ‘œ ν‘œμ‹œν•˜κ³  answerDFS에 정점 4λ₯Ό μΆ”κ°€
          • visitedDFS: [false, true, true, false, true]
          • answerDFS: [1, 2, 4]
        • 인접 정점을 μˆœνšŒν•˜κΈ° 전에 graph[4]을 μ •λ ¬. μ •λ ¬λœ 인접 정점은 [1, 2, 3]κ°€ λœλ‹€.
        • 1, 2λŠ” λ°©λ¬Έν•œ 적이 있음. λ°©λ¬Έν•˜μ§€ μ•Šμ€ 정점 3 λ°œκ²¬ν•˜κ³  dfs(3) 호좜
          • 정점 3을 λ°©λ¬Έν•œ 것을 ν‘œμ‹œν•˜κ³  answerDFS에 정점 3 μΆ”κ°€
            • visitedDFS: [false, true, true, true, true]
            • answerDFS: [1, 2, 4, 3]
          • 인접 정점을 μˆœνšŒν•˜κΈ° 전에 graph[3]을 μ •λ ¬. μ •λ ¬λœ 인접 정점은 [1, 4]
          • λ°©λ¬Έν•˜μ§€ μ•Šμ€ 정점이 μ—†μŒ. ν•¨μˆ˜ μž¬κ·€ μ‹€ν–‰ X ( 이제 λΉ μ Έλ‚˜κ°€μž ~~~ πŸ˜‡ )
        • dfs(3) μ’…λ£Œ
      • λ°©λ¬Έν•˜μ§€ μ•Šμ€ 정점이 μ—†μœΌλ―€λ‘œ dfs(4) μ’…λ£Œ
    • λ°©λ¬Έν•˜μ§€ μ•Šμ€ 정점이 μ—†μœΌλ―€λ‘œ dfs(2) μ’…λ£Œ
  5. λ°©λ¬Έν•˜μ§€ μ•Šμ€ 정점이 μ—†μœΌλ―€λ‘œ dfs(1) μ’…λ£Œ

 

μ΄λ ‡κ²Œ μ‹€ν–‰ 과정을 μ•„μ£Ό μƒμ„Έν•˜κ²Œ λ“€μ—¬λ‹€ λ³΄μ•˜λ‹€... πŸ₯΅

μ‹€ν–‰ 과정을 보면, μž¬κ·€ ν•¨μˆ˜λ₯Ό 톡해 인접 μ •μ μ˜ μžμ‹ λ…Έλ“œλ₯Ό νƒμƒ‰ν•˜λ©΄μ„œ μ΅œλŒ€ν•œ 깊게 λ“€μ–΄κ°”λ‹€κ°€ λ‚˜μ˜€λŠ” 것을 확인 ν•  수 μžˆλ‹€.

 

πŸ’‘ μž¬κ·€κ°€ μ•„λ‹ˆλΌ κ·Έλƒ₯ μŠ€νƒμœΌλ‘œ κ΅¬ν˜„ν•˜κ²Œ 되면 visitedDFS(λ°©λ¬Έν•œ 정점 λ°°μ—΄)κ³Ό needVisitDFS(탐색해야 ν•˜λŠ” 정점 λ°°μ—΄)을 μ‚¬μš©ν•œλ‹€. needVisitDFSκ°€ λΉ„κ²Œ 되면 탐색이 μ’…λ£Œλœλ‹€. μ›λ¦¬λŠ” μž¬κ·€μ™€ λ™μΌν•˜λ‹€. μ½”λ“œλ§Œ 쑰금 λ‹€λ₯Ό 뿐 γ…Žγ…Ž

 

일반적으둜 μž¬κ·€ 방식을 많이 μ‚¬μš©ν•˜κΈ°μ— 저도 μž¬κ·€ μ½”λ“œλ‘œ μ§œλ³΄μ•˜μŠ΅λ‹ˆλ‹€λžŒμ₯ 🐿️

 

 

 


 

 

μž¬κ·€ μ½”λ“œ μ΄λ ‡κ²Œ ν•˜λ‚˜ν•˜λ‚˜ λœ―μ–΄μ„œ κΈ°λ‘ν•œ 건 처음...

λ‹€λ“€ 이 κΈ€ 보고 μ‰½κ²Œ 이해 ν•  수 있길 바라며 🧠

 

 

'Algorithm' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Algorithm] λ°±νŠΈλž˜ν‚Ή(Backtracking)κ³Ό 브루트포슀(Brute Force)  (0) 2023.05.19
[Algorithm/Swift] λ™μ κ³„νšλ²•(DP)  (1) 2023.05.16
  1. 깊이 μš°μ„  탐색 (DFS, Depth-First Search)
  2. DFS κ΅¬ν˜„ 방법
  3. πŸ€” DFSμ—μ„œ μŠ€νƒμ„ μ‚¬μš©ν•˜λŠ” 이유
  4. Swift둜 DFS κ΅¬ν˜„ν•˜κΈ° (feat. BOJ 1260)
'Algorithm' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [Algorithm] λ°±νŠΈλž˜ν‚Ή(Backtracking)κ³Ό 브루트포슀(Brute Force)
  • [Algorithm/Swift] λ™μ κ³„νšλ²•(DP)
릴 루
릴 루
릴 루
RIRU
릴 루
전체
였늘
μ–΄μ œ
  • λΆ„λ₯˜ 전체보기 (13)
    • κ°œλ°œν™˜κ²½ (1)
    • iOS (9)
      • SwiftUI (6)
      • Combine (3)
      • UIKit (0)
    • Algorithm (3)

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • νƒœκ·Έ
  • λ°©λͺ…둝

곡지사항

인기 κΈ€

νƒœκ·Έ

  • Web App
  • hybrid
  • 브루트포슀
  • AppStorage
  • native
  • First Tistory
  • SwiftUI 기반의 iOS ν”„λ‘œκ·Έλž˜λ°
  • μ•Œκ³ λ¦¬μ¦˜
  • swift
  • userDefaults
  • λ°±νŠΈλž˜ν‚Ή
  • Swift 기반의 iOS ν”„λ‘œκ·Έλž˜λ°
  • subject
  • DP
  • combine
  • DFS
  • ios
  • Firebase
  • xcode
  • SwiftUI

졜근 λŒ“κΈ€

졜근 κΈ€

hELLO Β· Designed By μ •μƒμš°.
릴 루
[Algorithm/Swift] 깊이 μš°μ„  탐색 (DFS)
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”

κ°œμΈμ •λ³΄

  • ν‹°μŠ€ν† λ¦¬ ν™ˆ
  • 포럼
  • 둜그인

단좕킀

λ‚΄ λΈ”λ‘œκ·Έ

λ‚΄ λΈ”λ‘œκ·Έ - κ΄€λ¦¬μž ν™ˆ μ „ν™˜
Q
Q
μƒˆ κΈ€ μ“°κΈ°
W
W

λΈ”λ‘œκ·Έ κ²Œμ‹œκΈ€

κΈ€ μˆ˜μ • (κΆŒν•œ μžˆλŠ” 경우)
E
E
λŒ“κΈ€ μ˜μ—­μœΌλ‘œ 이동
C
C

λͺ¨λ“  μ˜μ—­

이 νŽ˜μ΄μ§€μ˜ URL 볡사
S
S
맨 μœ„λ‘œ 이동
T
T
ν‹°μŠ€ν† λ¦¬ ν™ˆ 이동
H
H
단좕킀 μ•ˆλ‚΄
Shift + /
⇧ + /

* λ‹¨μΆ•ν‚€λŠ” ν•œκΈ€/영문 λŒ€μ†Œλ¬Έμžλ‘œ 이용 κ°€λŠ₯ν•˜λ©°, ν‹°μŠ€ν† λ¦¬ κΈ°λ³Έ λ„λ©”μΈμ—μ„œλ§Œ λ™μž‘ν•©λ‹ˆλ‹€.