Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

7-yuyu0830 #27

Merged
merged 2 commits into from
Apr 29, 2024
Merged

7-yuyu0830 #27

merged 2 commits into from
Apr 29, 2024

Conversation

yuyu0830
Copy link
Collaborator

@yuyu0830 yuyu0830 commented Apr 4, 2024

πŸ”— 문제 링크

μ €μšΈ

βœ”οΈ μ†Œμš”λœ μ‹œκ°„

1μ‹œκ°„

✨ μˆ˜λ„ μ½”λ“œ

λΈ”λ‘œκ·Έ 풀이


짧은 μŠ€ν† λ¦¬

λŠ¦μ€ μ‹œκ°„ λ‹€ 같이 λ™λ°©μ—μ„œ 각자 곡뢀λ₯Ό ν•˜λ˜ 쀑
μ•Œκ³ λ¦¬μ¦˜ λŒ€μž₯λ‹˜μ΄ κ°‘μž‘μŠ€λŸ½κ²Œ 문제 ν•˜λ‚˜λ₯Ό λ˜μ‘Œλ‹€.
​
κ·Έ μ†Œμ‹μ— 5λͺ…이 달렀듀어 ν•¨κ»˜ ν’€κΈ° μ‹œμž‘ν–ˆκ³ 
집단 지성을 μ‚¬μš©ν•΄ μ˜€λ§Œλ•Œλ§Œ 해결책을 λ˜μ§€κΈ° μ‹œμž‘ν–ˆλ‹€.

μ‹œκ°„ λ³΅μž‘λ„κ°€ 2^1000 이 λ‚˜μ˜€κΈ°λ„ ν•˜κ³  1000! κ°€ λ‚˜μ˜€κΈ°λ„ ν•˜κ³  세상 μ •μ‹  μ—†μ—ˆλŠ”λ°

ν•œ λΆ„κ»˜μ„œ λΉ›λ‚˜λŠ” 아이디어λ₯Ό λ‚΄λ©΄μ„œ 상황은 λ°˜μ „μ„ λ§žμ΄ν•˜κ²Œ λœλ‹€.
이 자리λ₯Ό λΉŒμ–΄ λ‚˜λ΄‰λ‹˜κ»˜ 감사 인사λ₯Ό λ“œλ¦½λ‹ˆλ‹€

μ™„μ „ν•œ 해결책은 μ•„λ‹ˆμ˜€μ§€λ§Œ μƒˆλ‘œμš΄ 아이디어λ₯Ό 기반으둜 색닀λ₯Έ ν•΄κ²° λ°©μ•ˆμ„ λͺ¨μƒ‰ν•˜κΈ° μ‹œμž‘ν–ˆκ³ 
κ²°κ΅­ λ‹€ ν•¨κ»˜ 해결책을 μ°Ύμ•„λ‚΄μ—ˆλ‹€.

λŠ¦μ€ 밀이라 ν‘ΈλŠ” μˆœκ°„ λ‹€ ν•¨κ»˜ μžˆμ§„ λͺ»ν–ˆμ§€λ§Œ λ„ˆλ¬΄λ„ˆλ¬΄ 기뻀닀.
처음 ν”Œλž˜ν‹°λ„˜ 문제λ₯Ό ν’€μ—ˆμ„ λ•Œ 마λƒ₯ μ—„μ²­ κΈ°λ»ν–ˆλ‹€.

이 λ¬Έμ œλŠ” 였래였래 κΈ°μ–΅λ‚  것 κ°™λ‹€.


n개의 μΆ”κ°€ μ£Όμ–΄μ§ˆ λ•Œ n개의 μΆ”λ‘œ λ§Œλ“€ 수 μ—†λŠ” κ°€μž₯ μž‘μ€ μ–‘μ˜ μ •μˆ˜λ₯Ό μ°ΎλŠ” 문제 μž…λ‹ˆλ‹€

μ—¬λŸ¬ 아이디어λ₯Ό κ³ λ―Όν•˜λ˜ 쀑 2μ§„μˆ˜λ₯Ό μ‚¬μš©ν•΄ μ ‘κ·Όν•˜λŠ” 아이디어λ₯Ό μ–»μ—ˆμŠ΅λ‹ˆλ‹€. 2^1 ~ 2^n κΉŒμ§€ μˆ«μžκ°€ λ‹€ μžˆλ‹€λ©΄ 2^(n+1) - 1 κΉŒμ§€μ˜ μ •μˆ˜λŠ” λͺ¨λ‘ λ§Œλ“€ 수 μžˆλ‹€λŠ” μ ‘κ·Όμ΄μ˜€μŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ μœ„μ˜ μ•„μ΄λ””μ–΄λŠ” μ–΄λ””κΉŒμ§€λ‚˜ 탐색해야할 λ²”μœ„λ₯Ό μ€„μ΄λŠ” 데에 κ·ΈμΉ˜λŠ” μ •λ„μ˜€μŠ΅λ‹ˆλ‹€. 아직 λ­”κ°€ λΆ€μ‘±ν–ˆμŠ΅λ‹ˆλ‹€.

μ—¬κΈ°μ„œ 쑰금 더 생각을 펼쳐본 κ²°κ³Ό ꡳ이 2μ§„μˆ˜κ°€ μ•„λ‹ˆλ”λΌλ„ n개의 μΆ”λ‘œ 1 ~ m κΉŒμ§€μ˜ μ •μˆ˜λ₯Ό λͺ¨λ‘ λ§Œλ“€ 수 μžˆλ‹€κ³  ν•  λ•Œ, 값이 v인 μΆ”κ°€ μžˆλ‹€λ©΄ (v <= m) 값이 v인 μΆ”λ₯Ό ν¬ν•¨ν•œ n + 1개의 μΆ”λ‘œ 1 ~ m + v κΉŒμ§€μ˜ λ²”μœ„λ₯Ό μ „λΆ€ λ§Œλ“€ 수 μžˆλ‹€λŠ” 것을 μ•Œμ•˜μŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ ν˜„μž¬ 탐색쀑인 μΆ”μ˜ 무게 vκ°€ ν˜„μž¬ λ§Œλ“€ 수 μžˆλŠ” μ΅œλŒ€ λ²”μœ„λ₯Ό λ„˜μ–΄μ„œκ²Œ λœλ‹€λ©΄ m κ³Ό v + 1 κΉŒμ§€μ˜ λ²”μœ„ 사이 숫자λ₯Ό λ§Œλ“€ 수 μ—†μŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ μ•„λž˜μ™€ 같은 λ°©μ‹μœΌλ‘œ 해결책을 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.

  1. μΆ”μ˜ λ¬΄κ²Œμ— 따라 μ •λ ¬ν•œλ‹€.

  2. 제일 μž‘μ€ μΆ” λΆ€ν„° μ‹œμž‘ν•œλ‹€.

  3. 탐색 μ΅œλŒ€ λ²”μœ„ mκ³Ό ν˜„μž¬ μΆ” 값을 비ꡐ해 ν˜„μž¬ μΆ” 값이 μž‘κ±°λ‚˜ κ°™λ‹€λ©΄ 탐색 μ΅œλŒ€ λ²”μœ„ m에 ν˜„μž¬ μΆ” 값을 λ”ν•œλ‹€.

  4. 탐색 도쀑 ν˜„μž¬ μΆ” 값이 탐색 μ΅œλŒ€ λ²”μœ„ m 보닀 큰 경우 탐색을 μ’…λ£Œν•˜κ³ , 탐색 μ΅œλŒ€ λ²”μœ„ m + 1 의 값을 λ°˜ν™˜ν•œλ‹€.

πŸ“š μƒˆλ‘­κ²Œ μ•Œκ²Œλœ λ‚΄μš©

οΏ½ν•¨κ»˜ 문제λ₯Ό ν‘ΈλŠ” 건 되게 μž¬λ°Œλ‹€.!!

@yuyu0830 yuyu0830 self-assigned this Apr 4, 2024
@yuyu0830 yuyu0830 changed the title 24-04-04 μ €μšΈ 7-yuyu0830 Apr 4, 2024
Copy link
Collaborator

@InSange InSange left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

μ΄κ±°λŠ” μ§„μ§œ 내곡이 μžˆμ–΄μ•Όν•˜λŠ” μˆ˜ν•™μ μΈ 문제 κ°™κ΅°μš”...
μ—­μ‹œ λ§ν˜•λ‹˜μ€ λ­”κ°€ λ‹€λ₯΄λ„€μš”

image
이런 μˆ˜μ‹ 자체λ₯Ό λ°œκ²¬ν•œκ²Œ 되게 μ‹ κΈ°ν•˜λ„€μš”.
μ €λŠ” μ²˜μŒμ— DP둜 ν’€μ–΄μ•Ό 될 것 κ°™μ•˜μŠ΅λ‹ˆλ‹€. λ°°μ—΄ μ΅œλŒ€ 개수의 n을 1000으둜 2차원 배열을 μž‘μ•„μ€€λ’€ 각각 λ°©λ¬Έν•˜λ©΄μ„œ λͺ¨λ“  κ°€λŠ₯ν•œ μˆ˜λ“€μ„ μ²΄ν¬ν•˜λŠ” μ‹μœΌλ‘œ μƒκ°ν•˜μ˜€λŠ”λ° μ΅œμ•…μ˜ 경우 10001000λ²ˆμ— 무게 1,000,000 λ²ˆμ„ ν”„λ£¨νŠΈ 포슀둜 νƒμƒ‰ν–ˆμ„ 경우 10001000*1,000,000의 νšŸμˆ˜κ°€ λ‚˜μ˜€κ²Œλ˜μ–΄ 사싀상 1초의 μ‹œκ°„μ„ μ§€ν‚€λŠ” 건 μ–΄λ ΅λ‹€κ³  μƒκ°ν–ˆμŠ΅λ‹€.
λ‘λ²ˆμ§Έλ‘œλŠ” μ—λΌν† μŠ€ν…Œλ„€μŠ€μ˜ 체와 μ ‘κ·Όν•΄μ„œ ν’€λ©΄ μ–΄λ–¨κΉŒ μƒκ°ν•˜μ˜€λŠ”λ° 이 μ—­μ‹œ μœ„μ™€ λΉ„μŠ·ν•œ μ‹œκ°„ λ³΅μž‘λ„κ°€ λ‚˜μ˜€κ²Œ λ˜λ”λΌκ΅¬μš©

이 풀이 방식이 될까? μƒκ°ν•˜μ˜€λŠ”λ° λ§Œμ•½ 맨 λ§ˆμ§€λ§‰μ˜ ν¬κΈ°κΉŒμ§€ λ„λ‹¬ν–ˆμ„ 경우 μš°λ¦¬λŠ” max값을 1을 μΆ”κ°€ν•΄μ£Όμ—ˆκΈ° λ•Œλ¬Έμ— max에 λ§ˆμ§€λ§‰ 값을 더해주면 λͺ¨λ“  값을 λ”ν•œ 경우 + 1둜 무쑰건 λ‹€μŒ 번호λ₯Ό νƒμƒ‰ν•˜κ²Œλ˜λ©° λͺ¨λ“  값을 λ”ν–ˆμ„ λ•Œ 보닀 큰 값이 되게 λ˜λŠ”κ²Œ 되게 μ‹ λ°•ν–ˆμŠ΅λ‹ˆλ‹€. 이런 문제 λ„ˆλ¬΄ μ’‹μ•˜μŠ΅λ‹ˆλ‹€. μ—­μ‹œ μˆ˜ν•™μ€ μ–΄λ €μ›Œ :)
같이 μ‘μš©μˆ˜ν•™μ΄λ‚˜ ν’€κΉŒμš”?

Copy link
Collaborator

@seongwon030 seongwon030 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

μ²˜μŒμ— λ¬Έμ œλ΄€μ„ λ•Œ 이해가 μ•ˆ κ°”λŠ”λ° 1λ²ˆλΆ€ν„° 4번 풀이과정을 λ”°λΌκ°€λ©΄μ„œ 이런 λ¬Έμ œκ΅¬λ‚˜ λ°”λ‘œ μ΄ν•΄ν–ˆμŠ΅λ‹ˆλ‹€. μ €λŠ” μ²˜μŒμ— reλ₯Ό 1둜 μ„€μ •ν•˜κ³  좜λ ₯값이 λ°”λ‘œ 1이 더해진 값이 λ‚˜μ˜€λ„λ‘ ν’€μ–΄λ΄€μŠ΅λ‹ˆλ‹Ή

n = int(input())
k = list(map(int,input().split()))
k.sort()

re = 1

for i in k:
  if re < i:
    break
  re+=i
  
print(re)

Copy link
Contributor

@dhlee777 dhlee777 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

그리디λ₯Ό μ΄μš©ν•œ μˆ˜ν•™μ λ¬Έμ œμ΄κ΅°μš”.. λ‹€μŒμ— 저도 ν•œλ²ˆ λ„μ „ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€..!

@yuyu0830 yuyu0830 merged commit 90a48c8 into main Apr 29, 2024
@yuyu0830 yuyu0830 deleted the 7-yuyu0830 branch April 29, 2024 11:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants