glowing713
Frontend-Deep-Dive
glowing713
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (97)
    • Languages (11)
      • JavaScript ๐Ÿ’› (3)
      • Python ๐Ÿ (4)
      • Java โ˜•๏ธ (3)
      • Swift ๐Ÿงก (1)
    • Computer_Science (1)
      • Computer_Network ๐Ÿ•ธ (1)
    • Web_Frontend (4)
      • Vue.js (1)
    • Problem_Solving (76)
    • Server (1)
      • Spring ๐Ÿ€ (1)
    • AI (2)
      • NLP ๐Ÿ—ฃ (1)
      • AI_Math โž— (1)
    • ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊พธ๋ฏธ๊ธฐ โœŒ (1)
    • ์ƒ๊ฐ์ •๋ฆฌ โœ๐Ÿป (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿง‘๐Ÿปโ€๐Ÿ’ปGithub

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์ด๋ถ„ํƒ์ƒ‰
  • ๋™์ ๊ณ„ํš๋ฒ•
  • boostcampaitech
  • mst
  • DP
  • Algorithm
  • ps
  • Stack
  • ์นด์นด์˜ค ๊ธฐ์ถœ
  • Python
  • bfs
  • binary search
  • BOJ
  • 2019 ์นด์นด์˜ค ๊ฐœ๋ฐœ์ž ๊ฒจ์šธ ์ธํ„ด์‹ญ
  • ์™„์ „ํƒ์ƒ‰
  • brute-force
  • c++
  • Baekjoon
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • Java

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
glowing713

Frontend-Deep-Dive

[BOJ] ๋ฐฑ์ค€ 1764 ๋“ฃ๋ณด์žก / ์ด๋ถ„ํƒ์ƒ‰
Problem_Solving

[BOJ] ๋ฐฑ์ค€ 1764 ๋“ฃ๋ณด์žก / ์ด๋ถ„ํƒ์ƒ‰

2021. 2. 11. 17:22

์ด๋ฏธ์ง€๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋ฌธ์ œ ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

 

 

๐Ÿ’ญ ๋ฌธ์ œ ์ดํ•ด

 

์ œ๋ชฉ์ด....ใ…‹

์•”ํŠผ ์ „ํ˜•์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ํ’€๋ฉด ์ด๋ถ„ํƒ์ƒ‰์ด์ง€๋งŒ,

ํŒŒ์ด์ฌ์˜ ์žฅ์ ์„ ์ž˜ ์‚ด๋ฆฌ๋ฉด ์ด๋ถ„ํƒ์ƒ‰๋ณด๋‹ค ์‹คํ–‰์†๋„๋„ ๋” ๋น ๋ฅด๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ํ’€์–ด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

 

ํ’€์ด ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

1. ์ด๋ถ„ํƒ์ƒ‰

2. Set ์ž๋ฃŒ๊ตฌ์กฐ์™€ in ์—ฐ์‚ฐ์ž

3. Set์˜ ๊ต์ง‘ํ•ฉ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” & ์—ฐ์‚ฐ์ž

4. Set๊ณผ intersection ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•œ ๊ต์ง‘ํ•ฉ ์—ฐ์‚ฐ

 

์‹คํ–‰์†๋„๋Š” 4 > 3 >= 2 > 1 ์ˆœ์œผ๋กœ ๋น ๋ฅด๋‹ค.

 

 

 

๊ตฌํ˜„ ์–ธ์–ด: Python

 

 

1. ์ด๋ถ„ํƒ์ƒ‰

import sys

r = sys.stdin.readline

def binary_search(d_list: list, b_list: list) -> list:
    result = []
    d_list.sort()
    for b in b_list:
        left = 0
        right = len(d_list) - 1
        while left <= right:
            mid = (left + right) // 2
            if d_list[mid] < b:
                left = mid + 1
            elif d_list[mid] > b:
                right = mid - 1
            else:
                result.append(b)  # ๋“ฃ๋„ ๋ณด๋„ ๋ชปํ•œ ๋ช…๋‹จ ์ฐพ์Œ
                break  # ์—ฌ๊ธฐ์„œ ๊ผญ ์ข…๋ฃŒ๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค!
    return sorted(result)

d_num, b_num = map(int, r().split())
d_list = list(r().rstrip() for _ in range(d_num))  # ๋“ฃ๋„ ๋ชปํ•œ ๋ช…๋‹จ
b_list = list(r().rstrip() for _ in range(b_num))  # ๋ณด๋„ ๋ชปํ•œ ๋ช…๋‹จ
answer = binary_search(d_list, b_list)  # ์‚ฌ์ „์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ๋“ฃ๋„ ๋ณด๋„ ๋ชปํ•œ ๋ช…๋‹จ
print(len(answer))
for name in answer:
    print(name)

 

 

2. Set ์ž๋ฃŒ๊ตฌ์กฐ์™€ in ์—ฐ์‚ฐ์ž

import sys

r = sys.stdin.readline

d_num, b_num = map(int, r().split())
d_list = set(r().rstrip() for _ in range(d_num))  # ๋“ฃ๋„ ๋ชปํ•œ ๋ช…๋‹จ
b_list = list(r().rstrip() for _ in range(b_num))  # ๋ณด๋„ ๋ชปํ•œ ๋ช…๋‹จ
answer = sorted([name for name in b_list if name in d_list])
print(len(answer))
for name in answer:
    print(name)

Set์€ Hash function์œผ๋กœ ๊ตฌํ˜„์ด ๋˜์–ด์žˆ์–ด์„œ Dict๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์ฒ˜๋Ÿผ in ์—ฐ์‚ฐ์ž๋ฅผ O(1)์˜ ์‹œ๊ฐ„์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ๋งค์šฐ ๋น ๋ฅด๋‹ค!

 

 

3. Set์˜ ๊ต์ง‘ํ•ฉ์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” & ์—ฐ์‚ฐ์ž

import sys

r = sys.stdin.readline

d_num, b_num = map(int, r().split())
d_list = set(r().rstrip() for _ in range(d_num))  # ๋“ฃ๋„ ๋ชปํ•œ ๋ช…๋‹จ
b_list = set(r().rstrip() for _ in range(b_num))  # ๋ณด๋„ ๋ชปํ•œ ๋ช…๋‹จ
answer = sorted(d_list & b_list)
print(len(answer))
for name in answer:
    print(name)

 

 

4. Set๊ณผ intersection ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•œ ๊ต์ง‘ํ•ฉ ์—ฐ์‚ฐ

import sys

r = sys.stdin.readline

d_num, b_num = map(int, r().split())
d_list = set(r().rstrip() for _ in range(d_num))  # ๋“ฃ๋„ ๋ชปํ•œ ๋ช…๋‹จ
b_list = set(r().rstrip() for _ in range(b_num))  # ๋ณด๋„ ๋ชปํ•œ ๋ช…๋‹จ
answer = sorted(d_list.intersection(b_list))  # ๋‚ด์žฅ ๋ฉ”์†Œ๋“œ๊ฐ€ ๋” ๋น ๋ฆ„!!
print(len(answer))
for name in answer:
    print(name)

 

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Problem_Solving' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[BOJ] ๋ฐฑ์ค€ 1535 ์•ˆ๋…• / ๋™์  ๊ณ„ํš๋ฒ•(Dynamic-Programming)  (0) 2021.03.11
[BOJ] ๋ฐฑ์ค€ 2512 ์˜ˆ์‚ฐ / ์ด๋ถ„ํƒ์ƒ‰  (0) 2021.02.11
[BOJ] ๋ฐฑ์ค€ 10816 ์ˆซ์ž ์นด๋“œ 2 / ์ด๋ถ„ํƒ์ƒ‰  (0) 2021.02.09
[BOJ] ๋ฐฑ์ค€ 1654 ๋žœ์„  ์ž๋ฅด๊ธฐ / ์ด๋ถ„ํƒ์ƒ‰  (0) 2021.02.09
[BOJ] ๋ฐฑ์ค€ 10815 ์ˆซ์ž ์นด๋“œ / ์ด๋ถ„ํƒ์ƒ‰  (0) 2021.02.09
    'Problem_Solving' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [BOJ] ๋ฐฑ์ค€ 1535 ์•ˆ๋…• / ๋™์  ๊ณ„ํš๋ฒ•(Dynamic-Programming)
    • [BOJ] ๋ฐฑ์ค€ 2512 ์˜ˆ์‚ฐ / ์ด๋ถ„ํƒ์ƒ‰
    • [BOJ] ๋ฐฑ์ค€ 10816 ์ˆซ์ž ์นด๋“œ 2 / ์ด๋ถ„ํƒ์ƒ‰
    • [BOJ] ๋ฐฑ์ค€ 1654 ๋žœ์„  ์ž๋ฅด๊ธฐ / ์ด๋ถ„ํƒ์ƒ‰
    glowing713
    glowing713

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”