-
백준 문제풀이-단계별 문제풀이 4단계 while문(Python ,10952, 10951, 1110)문제 풀이/Baekjoon 2021. 2. 17. 23:43
오늘은 백준(BOJ)의 단계별 문제풀 중 while문을 사용하는 문제를 풀어보도록 하겠습니다.
우선 파이썬에서 while 문은 조건이 True일 경우, while 코드 블럭을 계속 수행이 됩니다.
while 문은 아래와 같이 사용할 수 있습니다.
while 조건문 : 명령문 명령문 while True : # break 문 없을 경우 무한 루프 print('hello world') break a=[1,2,3,4,5,6,7,8,9,10] i=0 x=len(a) while x>0: print(a) if(x==5): continue x-=1 c++ 에서 python은 유사합니다.
#include <iostream> using namespace std; int main(){ while True{ cout << 'hello world' <<endl; } int i = 0; while (i<100){ cout<<i<<endl; if (i==5){ continue; } } } 10952번 문제 A + B - 5
https://www.acmicpc.net/problem/10952 풀이
우선 a ,b의 값을 받은 후 값을 더해준 값을 출력하고 while 문 안에서 반복합니다. 그리고 while 문 안에서 a ,b의 값을 새로 받아줍니다. a 와 b가 모두 0인 경우에 while 문을 벗어 납니다.
a, b = map(int, input().split()) while a!=0 and b!=0 : print(a+b) a, b = map(int, input().split()) 10951번 문제 A + B - 4
https://www.acmicpc.net/problem/10951 풀이
이 문제는 try 와 except를 사용하여 예외 조건을 만들어 준 상태로 진행한 문제입니다.
def limit(num): if(num<=0 or num>=10): return False else : return True while True: try: a, b =map(int, input().split()) print(a+b) except : break 1110번 문제 더하기 사이클
https://www.acmicpc.net/problem/1110 풀이
더하기 사이클 문제는 10의 자리의 숫자와 1의 자리의 숫자를 더합니다. 그리고 다음 숫자는 이전 수의 1의 자리의 숫자를 10의 자리고 이전 10의 자리 숫자와 1의 자리를 합한 값을 1의 자리로 둔 후 이를 계속해서 반복한 후 처음 수와 같아질 경우 사이클을 멈추고 순환한 횟수를 출력하는 문제입니다.
def limit(num): if num<0 or num>100: return False else : return True num = int (input()) if limit(num)==False : num= int(input()) count = 0 first_num = num while True: ten = num//10 one = num%10 res = ten + one count+=1 num = int(str(num%10)+str(res%10)) if (first_num == num): break print(count) 오늘은 while 문울 사용하는 문제를 풀어보았습니다. 다음에는 1차원 배열문제를 list를 사용해서 풀어보도록 하겠습니다. 만약 질문이 있으시거나 더 좋은 풀이가 있으신 분은 댓글을 달아주시길 바랍니다!
'문제 풀이 > Baekjoon' 카테고리의 다른 글