목록백준 (7)
말랑말랑제리스타일
백준 1978번 문제는 소수 구하기이고 파이썬으로 풀 때 주의사항이 있습니다. 다른 언어와 달리 파이썬에서 주의해야 될 부분이 바로 for문에 range를 쓰는 경우인데요. 이 부분을 유념하면서 백준 1978번을 풀어보겠습니다. 백준 1978번 파이썬 코드 먼저 제가 작성한 백준 1978번 파이썬 코드부터 보여드리겠습니다. def isPrime(n): if n == 1: return False for i in range(2,n//2 + 1): if n % i == 0: return False return True N = int(input()) nums = list(map(int,input().split())) cnt = 0 for i in nums: if isPrime(i): cnt += 1 print(..
파이썬 1152번은 배열에 저장하는 문제로 파이썬의 경우 단 한 줄로 풀 수 있습니다. 상당히 기초적인 문제로 문장에 들어간 단어 개수를 구하는 문제죠. 파이썬에서는 리스트를 지원하는 len과 split 메서드로 단 한줄로도 구현이 가능한데 지금부터 풀어보겠습니다. 백준 1152번 파이썬 한 줄 소스 print(len(input().split())) 위 파이썬 소스 한줄이면 백준 1152번을 풀 수 있는데요. 이 소스를 간단히 설명하면 input 된 값을 split 해주면 자동으로 리스트로 저장하게 됩니다. 이 리스트의 길이를 len으로 추출해 print로 출력만 해주면 되는 소스인데요. 간단히 파이썬 한줄로 구현 가능합니다. 백준 1152번 해석 위에 작선한 백준 1152번 파이썬 소스를 좀 더 기능적..
백준 알고리즘 10818번 문제는 배열 문제로 파이썬에서는 기본적으로 반복문 없이 풀 수 있습니다. 문제 구분이 배열이기 때문에 파이썬 list의 내장 함수만 이용하면 되는데 아래에서 차근차근 설명드리겠습니다. 백준 10818 입력 백준 10818 문제의 입력값은 엄연히 보면 단 두줄이라 input() 함수로 속도에 신경쓰지 않고 입력할 수 있습니다. N = input() arr = list(map(int,input().split())) 백준 알고리즘 10818의 첫 인자인 N은 파이썬에서 입력받을 때는 크게 의미 없기 때문에 입력만 받아둡니다. 다음으로 한줄 내에 띄어쓰기로 연결된 N개의 숫자를 split으로 나눈 뒤 int로 mapping시켜 arr라는 변수에 list 타입으로 초기화시켜줍니다. 백준..
파이썬 백준 알고리즘 10952번 ,10951번 ,1110번 문제 해설 언제나 그렇듯 백준 알고리즘 문제를 포함한 알고리즘 문제는 정답은 없습니다. 저는 제가 제출하고 검증된 파이썬 답안 코드와 푸는 방법에 대한 해설을 제공하는 것이고 코드를 이해하고 분석해서 자신의 것으로 만드는 것은 자기몫입니다. 그럼 지금부터 백준 알고리즘 while문 문제인 10952번, 10951번,1110번을 파이썬으로 풀어봅시다. 백준 10952번 문제 백준알고리즘 10952 번 문제는 while문을 사용해 0 0이 나올 때까지 반복문을 돌린 후 출력하고 빠져나오는 문제입니다. 파이썬 뿐만 아니라 대부분의 프로그래밍 언어에서 while문과 for문의 차이점은 그냥 문법입니다. 대부분의 while문은 for문으로 표현 가능하고..
파이썬에서 여러개 입출력이 필요한 상황 백준 알고리즘을 포함해 알고리즘 코딩테스트에서 여러개의 변수를 입력받아 여러개의 변수로 출력하는 것은 가장 기본적인 요소입니다. 코딩테스트 문제를 보면 대부분의 입력이 입력값의 개수 N 이 제시되고 그 밑에 여러개의 입력값이 따라오고 출력에서도 저장된 리스트를 여러개의 줄로 출력하는 상황이 오기 때문입니다. 여러개 입력받기 여러개의 변수가 입력되는 경우 N을 입력받고 while문을 이용해 N만큼 순회하면서 입력받을 수 있습니다. N = int(input()) i_Arr = [] while N: i_Arr.append(int(input())) N -= 1 이 코드는 N개의 int형 변수를 i_Arr라는 리스트에 입력해주는 코드입니다. 만약 여기서 한줄에 두개의 int..

백준11729번 문제는 하노이탑 이동 순서 문제입니다. 하노이탑 이동 문제는 대표적인 재귀함수로 풀기 쉬운 문제이며, 재귀함수를 이해하기에도 좋은 문제입니다. 자 그럼 여기서 하노이탑 문제란 뭐냐? 다들 이런식으로 생긴 장난감 본적 있을겁니다. 왼쪽처럼 생긴 모양을 오른쪽 모양으로 옮기는 문제이며, 여기서 작은 원판 위에는 큰 원판이 올 수 없습니다. 기본적인 하노이탑 이동 문제의 이동 규칙이며, 백준 알고리즘 11729 문제는 이 하노이탑에서 원판을 이동하는 순서와 전체 이동 횟수를 출력하는 문제입니다. 일단 파이썬으로 작성된 코드부터 보고 본격적으로 코드 및 문제 설명 들어갑니다 백준 11729 답안 파이썬 코드 def movement(n,f,e,t,Arr): #f에서 t로 이동한다 e는 비어있는 공..

백준 알고리즘 1008번 문제 C++ 풀이입니다 먼저 사칙연산 문제가 난이도가 쉽지만 나눗셈의 특성상 곱셈, 덧셈, 뺄셈과 달리 결과가 정수가 아닌 소수가 나오게 됩니다 그리고 일반적인 나눗셈에서는 0으로 나누는 예외처리를 해줘야하지만 문제에 명시된 것처럼 백준 알고리즘 1008번 문제 연산에 사용되는 A와 B는 모두 0보다 크기 때문에 이 상황에 따른 예외처리는 필요없습니다 대신 출력단에서 %f로 출력하면 결과가 소수점 6자리까지 출력되는데 오차가 10^(-6) 수준이 되고 10^(-10)으로 해줘서 오차를 줄이기 위해 %.10lf로 출력을 해줘야하죠 이렇게 double a와 b를 10자리까지 출력해주려면 아래와 같은 코드로 백준알고리즘 1008번 문제를 풀 수 있습니다 백준 알고리즘 1008번 답 #..