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

9-pu2rile #29

Merged
merged 3 commits into from
Jul 16, 2024
Merged

9-pu2rile #29

merged 3 commits into from
Jul 16, 2024

Conversation

pu2rile
Copy link
Collaborator

@pu2rile pu2rile commented May 28, 2024

πŸ”— 문제 링크

https://www.acmicpc.net/problem/14582

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

30λΆ„

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

  • μ•Œκ³ λ¦¬μ¦˜
  1. 9νšŒλ§κΉŒμ§€μ˜ 점수λ₯Ό λ°°μ—΄ i[9], j[9] 에 μ €μž₯
  2. 맀 νšŒλ§ˆλ‹€ 점수λ₯Ό λˆ„μ ν•˜λ©° μ œλ―Έλ‹ˆμŠ€ 점수 j_score 와 κ±Έλ¦¬λ²„μŠ€ 점수 g_scroe 에 μ €μž₯ν•˜λ©° 각 νŒ€μ˜ 점수λ₯Ό 비ꡐ
  3. λ§Œμ•½ j_score > g_score 라면 win = 1 으둜 μ œλ―Έλ‹ˆμŠ€κ°€ 이긴 μ‹œμ μ„ μ„€μ •
  4. 9νšŒκΉŒμ§€ λλ‚œ ν›„ j_score < g_score && win = 1 일 λ•Œ yes 좜λ ₯

πŸ–₯️ μ½”λ“œ

#include <stdio.h>

int main() {
    int j[9];
    int g[9];
    int win = 0;
    int j_score = 0;
    int g_score = 0;
    
    for (int i=0 ; i<9; i++) { //μ œλ―Έλ‹ˆμŠ€ 점수 μž…λ ₯
        scanf("%d", &j[i]);
    }
    for (int i=0 ; i<9; i++) { //κ±Έλ¦¬λ²„μŠ€ 점수 μž…λ ₯
        scanf("%d", &g[i]);
    }
    
    for (int i=0 ; i<9; i++) {
        j_score += j[i]; //μ œλ―Έλ‹ˆμŠ€ 점수 λˆ„μ ν•©(j_score == 총 점수)
        if (j_score > g_score) //점수 비ꡐ
            win = 1; //μ œλ―Έλ‹ˆμŠ€κ°€ 이겼닀면 win = 1
        g_score += g[i]; //κ±Έλ¦¬λ²„μŠ€ 점수 λˆ„μ ν•©(g_score == 총 점수)
    }
    if (j_score < g_score && win == 1) //μ œλ―Έλ‹ˆμŠ€κ°€ μ‘Œμ§€λ§Œ μ œλ―Έλ‹ˆμŠ€κ°€ 이긴 적이 μžˆλ‹€λ©΄(μ—­μ „νŒ¨)
        printf("Yes\n");
    else
        printf("No\n");

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

문제 νŽΈμ‹ν•˜λŠλΌ ν’€κ³  싢은 문제만 ν’€μ—ˆλŠ”λ° λ‹€μŒ prλΆ€ν„°λŠ” 저도 자료ꡬ쑰 슬쩍 ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€... γ… 

Copy link
Collaborator

@suhyun113 suhyun113 left a comment

Choose a reason for hiding this comment

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

였! μ΄λ²ˆμ—λŠ” cμ–Έμ–΄λ‘œ κ΅¬ν˜„ν•˜μ…¨κ΅°μš”γ…Žγ…Ž cμ–Έμ–΄ 정말 μ˜€λžœλ§Œμž…λ‹ˆλ‹€...
저도 λ¨Όμ € 이 문제λ₯Ό ν’€μ–΄λ΄€λŠ”λ°...μ’€ 바보같이...잘λͺ» 이해해 λ²„λ €μ„œ 각 νšŒμ°¨λ³„λ‘œλ§Œ 점수λ₯Ό λΉ„κ΅ν•˜λ©΄ λ˜λŠ” 쀄 μ•Œμ•˜μ–΄μš”γ… γ…  λˆ„μ ν•©μ„ λΉ„κ΅ν•˜λŠ” κ±°μ˜€κ΅°μš”... 그리ꡬ μ œλ―Έλ‚˜μŠ€κ°€ μ΄κΈ°λŠ” κ²½μš°λŠ” μ—†λ‹€κ³  μƒκ°ν•˜κ³  ν’€μ—ˆλŠ”λ° κ·Έλ ‡κ²Œ ν•˜λ©΄ μ•ˆ λ˜λ”λΌκ΅¬μš”...

λ‹€μ‹œ 생각을 해보고 ν’€μ–΄λ΄€μ–΄μš”! 근데, 또 λ¬Έμ œκ°€ μƒκΈ΄κ²Œ λ„ν˜„λ‹˜ μ½”λ“œλž‘ λΆ„λͺ… μ½”λ“œ ν•œ μ€„μ˜ μˆœμ„œλ§Œ λ‹€λ₯Έλ°,,, μ•ˆ λ˜λŠ”κ±°μ—μš”. ν•œμ°Έμ„ 이해가 λ˜μ§€ μ•Šμ•„ κ³ λ―Όν–ˆμ–΄μš”
제 처음 μ½”λ“œλŠ”

Geminis = list(map(int, input().split())) # μ œλ―Έλ‹ˆμŠ€μ˜ νšŒμ°¨λ³„ 득점
Gullivers = list(map(int, input().split())) # κ±Έλ¦¬λ²„μŠ€μ˜ νšŒμ°¨λ³„ 득점
Geminis_score = 0 # μ œλ―Έλ‹ˆμŠ€ 총 점수
Gullivers_score = 0 # κ±Έλ¦¬λ²„μŠ€ 총 점수

win = False # μ œλ―Έλ‹ˆμŠ€κ°€ ν•œ λ²ˆμ΄λΌλ„ κ±Έλ¦¬λ²„μŠ€μ—κ²Œ 이긴 적이 μžˆλŠ”μ§€ μ—¬λΆ€

for i in range(9): # 0~9
    Geminis_score += Geminis[i] # μ œλ―Έλ‹ˆμŠ€μ˜ 각 νšŒμ°¨λ³„ λˆ„μ ν•©
    Gullivers_score += Gullivers[i] # κ±Έλ¦¬λ²„μŠ€μ˜ 각 νšŒμ°¨λ³„ λˆ„μ ν•©
    if Geminis_score > Gullivers_score: #μ œλ―Έλ‹ˆμŠ€κ°€ ν•œ λ²ˆμ΄λΌλ„ 이기고 μžˆλŠ”μ§€ 체크
        win = True
    
if Geminis_score < Gullivers_score and win: # μ œλ―Έλ‚˜μŠ€κ°€ ν•œ λ²ˆμ΄λΌλ„ μ΄κ²Όμ§€λ§Œ 총 λ“μ μ—μ„œ λ°€λ € μ‘Œμ„ 경우 μ—­μ „νŒ¨
    result = "Yes"
else:
    result = "No"

print(result)

μ΄κ±°μ˜€μŠ΅λ‹ˆλ‹€

Gullivers_score += Gullivers[i] # κ±Έλ¦¬λ²„μŠ€μ˜ 각 νšŒμ°¨λ³„ λˆ„μ ν•©

이 μ½”λ“œμ˜ μˆœμ„œκ°€ λ¬Έμ œμ˜€μ–΄μš”. μ™œ ifλ¬Έ 뒀에 λ‚˜μ™€μ•Ό ν• κΉŒ 계속 κ³ λ―Όν•΄ λ΄€λŠ”λ° μ²˜μŒμ—λŠ” 잘 이해가 λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€
그런데, 문제의 힌트 뢀뢄에 λ‚˜μ™€μžˆλŠ” **울림 μ œλ―Έλ‹ˆμŠ€κ°€ 이기고 있던 μˆœκ°„μ€ (울림이 1회 μ΄ˆμ— 1점을 λ‚Έ μˆœκ°„) ~ (μŠ€νƒ€νŠΈλ§ν¬κ°€ 3회 말에 1점을 λ‚Έ μˆœκ°„)**λ₯Ό 보고 κΉ¨λ‹¬μ•˜μŠ΅λ‹ˆλ‹€. 울림 μ œλ―Έλ‹ˆμŠ€κ°€ 이기고 있던 μˆœκ°„μ—λŠ” κ·Έ 회차의 κ±Έλ¦¬λ²„μŠ€ μ μˆ˜κ°€ 합해지기 μ „ μ΄μ—ˆμ–΄μš”! κ·Έλž˜μ„œ κ·Έ 회차의 κ±Έλ¦¬λ²„μŠ€ 점수λ₯Ό ν•©ν•˜κΈ° μ „ μ œλ―Έλ‹ˆμŠ€μ™€μ˜ 비ꡐλ₯Ό ν•œ ν›„, κ±Έλ¦¬λ²„μŠ€μ˜ 점수λ₯Ό λ”ν•˜λŠ” 게 λ§žλ‹€λŠ” 것을 μ•Œκ²Œλ˜μ—ˆμŠ΅λ‹ˆλ‹Ή κ·Έ 회차의 κ±Έλ¦¬λ²„μŠ€μ˜ μ μˆ˜κΉŒμ§€ 더해 λΉ„κ΅ν•˜κ²Œ 되면, μ œλ―Έλ‹ˆμŠ€κ°€ 이기고 μžˆλ‹€κ°€ μ—­μ „ λ‹Ήν•œ 뢀뢄이 λ°˜μ˜λ˜μ§€ μ•ŠλŠ”λ‹€λŠ” 것을 μ•Œκ²Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.
이 뢀뢄을 μ•Œκ³ λ‚˜λ‹ˆ 문제λ₯Ό ν‘ΈλŠ” 것을 성곡할 수 μžˆμ—ˆμ–΄μš”!πŸ₯³

이번 PR도 μˆ˜κ³ ν•˜μ…¨μ–΄μš”! 덕뢄에 μž¬λ―ΈμžˆλŠ” 문제 ν’€κ³  κ°‘λ‹ˆλ‹Ή~

@suhyun113
Copy link
Collaborator

μ΅œμ’… μ½”λ“œλŠ”

Geminis = list(map(int, input().split())) # μ œλ―Έλ‹ˆμŠ€μ˜ νšŒμ°¨λ³„ 득점
Gullivers = list(map(int, input().split())) # κ±Έλ¦¬λ²„μŠ€μ˜ νšŒμ°¨λ³„ 득점
Geminis_score = 0 # μ œλ―Έλ‹ˆμŠ€ 총 점수
Gullivers_score = 0 # κ±Έλ¦¬λ²„μŠ€ 총 점수

win = False # μ œλ―Έλ‹ˆμŠ€κ°€ ν•œ λ²ˆμ΄λΌλ„ κ±Έλ¦¬λ²„μŠ€μ—κ²Œ 이긴 적이 μžˆλŠ”μ§€ μ—¬λΆ€

for i in range(9): # 0~9
    Geminis_score += Geminis[i] # μ œλ―Έλ‹ˆμŠ€μ˜ 각 νšŒμ°¨λ³„ λˆ„μ ν•©
    if Geminis_score > Gullivers_score: #μ œλ―Έλ‹ˆμŠ€κ°€ ν•œ λ²ˆμ΄λΌλ„ 이기고 μžˆλŠ”μ§€ 체크
        win = True
    Gullivers_score += Gullivers[i] # κ±Έλ¦¬λ²„μŠ€μ˜ 각 νšŒμ°¨λ³„ λˆ„μ ν•©
    
if Geminis_score < Gullivers_score and win: # μ œλ―Έλ‚˜μŠ€κ°€ ν•œ λ²ˆμ΄λΌλ„ μ΄κ²Όμ§€λ§Œ 총 λ“μ μ—μ„œ λ°€λ € μ‘Œμ„ 경우 μ—­μ „νŒ¨
    result = "Yes"
else:
    result = "No"

print(result)

이 μ½”λ“œμž…λ‹ˆλ‹Ή
λ„ν˜„λ‹˜ μ½”λ“œμ™€ μ–Έμ–΄λ§Œ λ‹€λ₯΄μ§€ 사싀 λ˜‘κ°™μ€ κ΅¬μ‘°μž…λ‹ˆλ‹€...
계속 혼자 ν’€μ–΄λ³΄λŠ”λ° ν•˜λ‚˜μ”© μ•ˆ λ˜λŠ” 뢀뢄이 λ°œμƒν•΄μ„œ 이해 μœ„μ£Όλ‘œ κ°€λ‹€λ³΄λ‹ˆ..😭
κ·Έλž˜λ„ λ„ν˜„λ‹˜ 덕뢄에 μ½”λ“œ λ³΄λ©΄μ„œ 파이썬으둜 μ½”λ“œ 짜볼 수 μžˆμ—ˆμ–΄μš”~

Copy link
Member

@oesnuj oesnuj left a comment

Choose a reason for hiding this comment

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

Cμ–Έμ–΄ μ˜€λžœλ§Œμ΄λ„€μš”!
μ €λŠ” C++둜 ν’€μ–΄λ΄€μŠ΅λ‹ˆλ‹€. λ§ˆμ§€λ§‰ 확인에 bool λ³€μˆ˜λ₯Ό μ‚¬μš©ν•œκ±° λ§κ³ λŠ” μ „μ²΄μ μœΌλ‘œ λΉ„μŠ·ν•œ 둜직으둜 μ§  것 κ°™μ•„μš”!
PR μˆ˜κ³ ν•˜μ…¨μŠ΅λ‹ˆλ‹€

#include <iostream>
using namespace std;

int main() {
    int w[9], s[9];
    for (auto& i : w) {
        cin >> i;
    }
    for (auto& i : s) {
        cin >> i;
    }

    int sumW = 0, sumS = 0;
    bool leading = false;

    for (int i = 0; i < 9; i++) {
        sumW += w[i];
        if (sumW > sumS) {
            leading = true;
        }
        sumS += s[i];
    }

    if (leading) cout << "Yes";
    else cout << "No";

    return 0;
}

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.

3 participants