๋‚ด ์ธ์ƒ์—์„œ ๋ฏฟ์„ ๊ฑด ์˜ค์ง ๋‚˜ ์ž์‹ ๋ฟ!

The only one you can truly trust is yourself.

๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ/Python ํ”„๋กœ๊ทธ๋ž˜๋ฐ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ˆซ์ž๊ฒŒ์ž„ Summer/Winter Coding (~2018)

๐ŸŽฎinspirer9 2023. 2. 28. 00:04
728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ ์„ค๋ช…

xx ํšŒ์‚ฌ์˜ 2xN๋ช…์˜ ์‚ฌ์›๋“ค์€ N๋ช…์”ฉ ๋‘ ํŒ€์œผ๋กœ ๋‚˜๋ˆ  ์ˆซ์ž ๊ฒŒ์ž„์„ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๊ฐœ์˜ ํŒ€์„ ๊ฐ๊ฐ AํŒ€๊ณผ BํŒ€์ด๋ผ๊ณ  ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ˆซ์ž ๊ฒŒ์ž„์˜ ๊ทœ์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๋จผ์ € ๋ชจ๋“  ์‚ฌ์›์ด ๋ฌด์ž‘์œ„๋กœ ์ž์—ฐ์ˆ˜๋ฅผ ํ•˜๋‚˜์”ฉ ๋ถ€์—ฌ๋ฐ›์Šต๋‹ˆ๋‹ค.
  • ๊ฐ ์‚ฌ์›์€ ๋”ฑ ํ•œ ๋ฒˆ์”ฉ ๊ฒฝ๊ธฐ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐ ๊ฒฝ๊ธฐ๋‹น AํŒ€์—์„œ ํ•œ ์‚ฌ์›์ด, BํŒ€์—์„œ ํ•œ ์‚ฌ์›์ด ๋‚˜์™€ ์„œ๋กœ์˜ ์ˆ˜๋ฅผ ๊ณต๊ฐœํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋•Œ ์ˆซ์ž๊ฐ€ ํฐ ์ชฝ์ด ์Šน๋ฆฌํ•˜๊ฒŒ ๋˜๊ณ , ์Šน๋ฆฌํ•œ ์‚ฌ์›์ด ์†ํ•œ ํŒ€์€ ์Šน์ ์„ 1์  ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • ๋งŒ์•ฝ ์ˆซ์ž๊ฐ€ ๊ฐ™๋‹ค๋ฉด ๋ˆ„๊ตฌ๋„ ์Šน์ ์„ ์–ป์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ „์ฒด ์‚ฌ์›๋“ค์€ ์šฐ์„  ๋ฌด์ž‘์œ„๋กœ ์ž์—ฐ์ˆ˜๋ฅผ ํ•˜๋‚˜์”ฉ ๋ถ€์—ฌ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋‹ค์Œ AํŒ€์€ ๋น ๋ฅด๊ฒŒ ์ถœ์ „์ˆœ์„œ๋ฅผ ์ •ํ–ˆ๊ณ  ์ž์‹ ๋“ค์˜ ์ถœ์ „ ์ˆœ์„œ๋ฅผ BํŒ€์—๊ฒŒ ๊ณต๊ฐœํ•ด๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค. BํŒ€์€ ๊ทธ๊ฒƒ์„ ๋ณด๊ณ  ์ž์‹ ๋“ค์˜ ์ตœ์ข… ์Šน์ ์„ ๊ฐ€์žฅ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ํŒ€์›๋“ค์˜ ์ถœ์ „ ์ˆœ์„œ๋ฅผ ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ์˜ BํŒ€์ด ์–ป๋Š” ์Šน์ ์„ ๊ตฌํ•ด์ฃผ์„ธ์š”.
A ํŒ€์›๋“ค์ด ๋ถ€์—ฌ๋ฐ›์€ ์ˆ˜๊ฐ€ ์ถœ์ „ ์ˆœ์„œ๋Œ€๋กœ ๋‚˜์—ด๋˜์–ด์žˆ๋Š” ๋ฐฐ์—ด A์™€ i๋ฒˆ์งธ ์›์†Œ๊ฐ€ BํŒ€์˜ i๋ฒˆ ํŒ€์›์ด ๋ถ€์—ฌ๋ฐ›์€ ์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๋Š” ๋ฐฐ์—ด B๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, B ํŒ€์›๋“ค์ด ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์Šน์ ์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ ์‚ฌํ•ญ

  • A์™€ B์˜ ๊ธธ์ด๋Š” ๊ฐ™์Šต๋‹ˆ๋‹ค.
  • A์™€ B์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 100,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
  • A์™€ B์˜ ๊ฐ ์›์†Œ๋Š” 1 ์ด์ƒ 1,000,000,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

A B result
[5,1,3,7] [2,2,6,8] 3
[2,2,2,2] [1,1,1,1] 0

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…


A ํŒ€์€ ์ˆซ์ž 5๋ฅผ ๋ถ€์—ฌ๋ฐ›์€ ํŒ€์›์ด ์ฒซ๋ฒˆ์งธ๋กœ ์ถœ์ „ํ•˜๊ณ , ์ด์–ด์„œ 1,3,7์„ ๋ถ€์—ฌ๋ฐ›์€ ํŒ€์›๋“ค์ด ์ฐจ๋ก€๋Œ€๋กœ ์ถœ์ „ํ•ฉ๋‹ˆ๋‹ค.
B ํŒ€์›๋“ค์„ 4๋ฒˆ, 2๋ฒˆ, 3๋ฒˆ, 1๋ฒˆ์˜ ์ˆœ์„œ๋Œ€๋กœ ์ถœ์ „์‹œํ‚ฌ ๊ฒฝ์šฐ ํŒ€์›๋“ค์ด ๋ถ€์—ฌ๋ฐ›์€ ์ˆซ์ž๋“ค์€ ์ฐจ๋ก€๋Œ€๋กœ 8,2,6,2๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด, ์ฒซ ๋ฒˆ์งธ, ๋‘ ๋ฒˆ์งธ, ์„ธ ๋ฒˆ์งธ ๊ฒฝ๊ธฐ์—์„œ ์Šน๋ฆฌํ•˜์—ฌ 3์ ์„ ์–ป๊ฒŒ ๋˜๊ณ , ์ด๋•Œ๊ฐ€ ์ตœ๋Œ€์˜ ์Šน์ ์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2
B ํŒ€์›๋“ค์„ ์–ด๋–ค ์ˆœ์„œ๋กœ ์ถœ์ „์‹œ์ผœ๋„ BํŒ€์˜ ์Šน์ ์€ 0์ ์ž…๋‹ˆ๋‹ค.

ํ’€์ด

  • ๊ทธ๋ƒฅ ๋ฐฐ์น˜ํ•˜๋ฉด ๋˜๋‚˜?
  • ์ž‘์€ ์ ์ˆ˜๋กœ ํฐ ์ ์ˆ˜๋ž‘ ๋น„๋ฒผ์„œ ์—†์• ๊ณ ...
  • ์ตœ์†Œ ์ฐจ์ด๋กœ ์ด๊ธฐ๋ฉด ๋˜๋Š”๊ฑฐ๋‹ค.
def solution(A, B):
    answer = 0
    A.sort()
    B.sort()
    
    while len(B) > 0:
        if A[0] >= B[0]:
            A.pop(-1)
            B.pop(0)
        else:
            A.pop(0)
            B.pop(0)
            answer += 1
            
    return answer
์ •ํ™•์„ฑ  ํ…Œ์ŠคํŠธ
ํ…Œ์ŠคํŠธ 1 ใ€‰	ํ†ต๊ณผ (0.01ms, 10.1MB)
ํ…Œ์ŠคํŠธ 2 ใ€‰	ํ†ต๊ณผ (0.01ms, 10.1MB)
ํ…Œ์ŠคํŠธ 3 ใ€‰	ํ†ต๊ณผ (0.01ms, 10.2MB)
ํ…Œ์ŠคํŠธ 4 ใ€‰	ํ†ต๊ณผ (0.00ms, 10MB)
ํ…Œ์ŠคํŠธ 5 ใ€‰	ํ†ต๊ณผ (0.03ms, 10MB)
ํ…Œ์ŠคํŠธ 6 ใ€‰	ํ†ต๊ณผ (0.03ms, 10.3MB)
ํ…Œ์ŠคํŠธ 7 ใ€‰	ํ†ต๊ณผ (0.04ms, 10MB)
ํ…Œ์ŠคํŠธ 8 ใ€‰	ํ†ต๊ณผ (0.02ms, 10.1MB)
ํ…Œ์ŠคํŠธ 9 ใ€‰	ํ†ต๊ณผ (0.36ms, 10.3MB)
ํ…Œ์ŠคํŠธ 10 ใ€‰	ํ†ต๊ณผ (0.29ms, 10.1MB)
ํ…Œ์ŠคํŠธ 11 ใ€‰	ํ†ต๊ณผ (0.39ms, 10.2MB)
ํ…Œ์ŠคํŠธ 12 ใ€‰	ํ†ต๊ณผ (0.20ms, 10.1MB)
ํ…Œ์ŠคํŠธ 13 ใ€‰	ํ†ต๊ณผ (10.05ms, 10.1MB)
ํ…Œ์ŠคํŠธ 14 ใ€‰	ํ†ต๊ณผ (12.38ms, 10.5MB)
ํ…Œ์ŠคํŠธ 15 ใ€‰	ํ†ต๊ณผ (8.72ms, 10.3MB)
ํ…Œ์ŠคํŠธ 16 ใ€‰	ํ†ต๊ณผ (16.49ms, 10.2MB)
ํ…Œ์ŠคํŠธ 17 ใ€‰	ํ†ต๊ณผ (0.83ms, 10.3MB)
ํ…Œ์ŠคํŠธ 18 ใ€‰	ํ†ต๊ณผ (1.37ms, 10.2MB)
ํšจ์œจ์„ฑ  ํ…Œ์ŠคํŠธ
ํ…Œ์ŠคํŠธ 1 ใ€‰	ํ†ต๊ณผ (1997.93ms, 18.5MB)
ํ…Œ์ŠคํŠธ 2 ใ€‰	ํ†ต๊ณผ (1856.96ms, 18.3MB)
ํ…Œ์ŠคํŠธ 3 ใ€‰	ํ†ต๊ณผ (1935.54ms, 18.3MB)
  • ๊ณ ์ˆ˜์˜ ์ฝ”๋“œ.
    • ์ธ๋ฑ์Šค ์ด๋™์œผ๋กœ ํ’€์—ˆ๋„ค?
      • ์—ญ์‹œ pop ์•ˆ์“ฐ๋Š”๊ฒŒ ๋น ๋ฅด๋‹ค.
def solution(A, B):
    answer = 0
    A.sort()
    B.sort()
    j = 0

    for i in range(len(A)):
        if A[j] < B[i]:
            answer = answer + 1
            j = j+1

    return answer
์ •ํ™•์„ฑ  ํ…Œ์ŠคํŠธ
ํ…Œ์ŠคํŠธ 1 ใ€‰	ํ†ต๊ณผ (0.00ms, 10.1MB)
ํ…Œ์ŠคํŠธ 2 ใ€‰	ํ†ต๊ณผ (0.00ms, 10.2MB)
ํ…Œ์ŠคํŠธ 3 ใ€‰	ํ†ต๊ณผ (0.01ms, 10.1MB)
ํ…Œ์ŠคํŠธ 4 ใ€‰	ํ†ต๊ณผ (0.00ms, 10MB)
ํ…Œ์ŠคํŠธ 5 ใ€‰	ํ†ต๊ณผ (0.01ms, 10.3MB)
ํ…Œ์ŠคํŠธ 6 ใ€‰	ํ†ต๊ณผ (0.02ms, 10.2MB)
ํ…Œ์ŠคํŠธ 7 ใ€‰	ํ†ต๊ณผ (0.02ms, 10.1MB)
ํ…Œ์ŠคํŠธ 8 ใ€‰	ํ†ต๊ณผ (0.01ms, 10.1MB)
ํ…Œ์ŠคํŠธ 9 ใ€‰	ํ†ต๊ณผ (0.20ms, 10.3MB)
ํ…Œ์ŠคํŠธ 10 ใ€‰	ํ†ต๊ณผ (0.14ms, 10.1MB)
ํ…Œ์ŠคํŠธ 11 ใ€‰	ํ†ต๊ณผ (0.36ms, 10.3MB)
ํ…Œ์ŠคํŠธ 12 ใ€‰	ํ†ต๊ณผ (0.11ms, 10.2MB)
ํ…Œ์ŠคํŠธ 13 ใ€‰	ํ†ต๊ณผ (2.41ms, 10.4MB)
ํ…Œ์ŠคํŠธ 14 ใ€‰	ํ†ต๊ณผ (2.67ms, 10.5MB)
ํ…Œ์ŠคํŠธ 15 ใ€‰	ํ†ต๊ณผ (2.00ms, 10.3MB)
ํ…Œ์ŠคํŠธ 16 ใ€‰	ํ†ต๊ณผ (2.44ms, 10.6MB)
ํ…Œ์ŠคํŠธ 17 ใ€‰	ํ†ต๊ณผ (0.21ms, 10.2MB)
ํ…Œ์ŠคํŠธ 18 ใ€‰	ํ†ต๊ณผ (0.47ms, 10.3MB)
ํšจ์œจ์„ฑ  ํ…Œ์ŠคํŠธ
ํ…Œ์ŠคํŠธ 1 ใ€‰	ํ†ต๊ณผ (44.92ms, 18.6MB)
ํ…Œ์ŠคํŠธ 2 ใ€‰	ํ†ต๊ณผ (43.39ms, 18.3MB)
ํ…Œ์ŠคํŠธ 3 ใ€‰	ํ†ต๊ณผ (43.58ms, 18.3MB)
  • ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ ์—†์„ ์ค„ ์•Œ๊ณ  ๋ˆŒ๋ €๋Š”๋ฐ ํ’€๋ ค๋ฒ„๋ฆผ ใ…‹ใ…‹ใ…‹
    • ๋‹ด๋ถ€ํ„ด ๋จผ์ € ๋ˆŒ๋Ÿฌ๋ณด๋Š” ์Šต๊ด€์„ ๊ฐ–๋„๋ก ํ•˜์Ÿˆ
728x90
๋ฐ˜์‘ํ˜•