[Baekjoon] #32369 (양파 실험)

REi·2025년 2월 10일

Baekjoon 브론즈 IV

목록 보기
27/28

> 문제


> 핵심 내용

  • swap 연산
    - 두 변수의 값을 교환하는 연산
    • 파이썬은 한 줄로 swap 연산 가능
  • c언어 swap 연산
int a = 10;
int b = 20;
int temp;

temp = a;
a = b;
b = temp;
  • Python Swap 연산
a = 10
b = 20

a, b = b, a 

> 결과

> 결과 코드

# 백준 #32369 (양파 실험) 브론즈 4

# 양파 실험 : 양파에 칭찬과 비난을 했을 때 성장 속도를 비교하는 실험
# 두 양파의 처음 길이는 1임.

# 실험 과정
# 1. 양파에 칭찬하면 A만큼, 양파에 비난하면 B만큼 자람. (조건 : A < B)
# 2. 칭찬 양파보다 비난 양파가 더 길면 두 양파의 역할을 바꿈
# 3. 두 양파의 길이가 같으면 비난 양파의 길이를 1만큼 자름 
# 실험을 진행하는 동안 매일 1,2,3 과정을 순서대로 진행함 (N번 반복)

# N, A, B ) 실험이 진행되는 N일, 칭찬하면 자라나는 길이 A, 비난하면 자라나는 길이 B
N, A, B = map(int,input().split())
# print(N,A,B)

# 양파 길이 계산 ) 핵심 !!!
positive_onion = 1
negative_onion = 1

for _ in range (N) :
    # 1단계 
    positive_onion += A
    negative_onion += B

    # 2단계 
    if negative_onion > positive_onion :
        positive_onion, negative_onion = negative_onion, positive_onion #swap 연산 !! 
    
    # 3단계
    if negative_onion == positive_onion :
        negative_onion = negative_onion - 1 

# Result ) 결과 출력 (칭찬 양파의 길이, 비난 양파의 길이)
print(positive_onion, negative_onion)

0개의 댓글