목록프로그래밍/백준 알고리즘 (11)
말랑말랑제리스타일
C언어에서 rand 함수를 사용하는 경우 srand를 같이 사용하는 경우를 볼 수 있습니다. 그 이유는 rand 함수가 동작하는 방식 때문인데요. C언어뿐만 아니라 파이썬 등 대부분의 랜덤 함수에서 이런 방식이 사용됩니다. C언어에서 srand를 사용하지 않고 rand 함수를 사용하는 경우 C언어에서 rand 함수를 사용하는 아래 소스를 동작시켜봅시다. #include #include #include int main() { // 무작위 숫자 5개 생성 for (int i = 0; i < 5; i++) { int r = rand(); printf("%d ", r); } return 0; } 자 이 소스를 동작시키면 무작위의 5개 숫자가 생성될 겁니다. 그리고 다시 한번 실행해 봅시다. 다시 5개의 숫자가 ..
백준 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문으로 표현 가능하고..
백준 알고리즘 for문 문제 2742,11021,11022,2438,2439,10871 답안 예시 백준 알고리즘 for문 문제 2742,11021,11022,2438,2439,10871 정답 코드 및 설명입니다. 혹시나 여기 없는 문제의 경우 for문 문제 1번 글에서 언급했을 수 있으니 참고 바랍니다. 파이썬으로 백준 for문 문제 풀기 1 백준 알고리즘 for문 문제 2739,10950,8393,15552,2741 답안 예시 백준 알고리즘 for문 문제에 해당하는 2739,10950,8393,15552,2741 문제 파이썬으로 풀어 본 답안 예시입니다. 꼭 똑같이 하라는 법도 없고 더 좋. jerry-style.tistory.com 백준 2742번 역순 출력 파이썬에서 백준 2742번 같은 류의 코딩..
백준 알고리즘 for문 문제 2739,10950,8393,15552,2741 답안 예시 백준 알고리즘 for문 문제에 해당하는 2739,10950,8393,15552,2741 문제 파이썬으로 풀어 본 답안 예시입니다. 꼭 똑같이 하라는 법도 없고 더 좋은 방법도 있을 수 있습니다. 백준 2739번 구구단 백준 2739번은 매우 간단한 구구단 출력 문제이고 range를 이용해서 간단하게 짜보았습니다. N = int(input()) for i in range(1,10): print("{} * {} = {}".format(N,i,N*i)) range(1,10)으로 하면 i를 1부터 9까지 순회시키게 되며 , 출력은 format을 사용해 중괄호 내에 들어갈 변수를 입력해주면서 손쉽게 구구단 N단을 출력할 수 있..
파이썬에서 여러개 입출력이 필요한 상황 백준 알고리즘을 포함해 알고리즘 코딩테스트에서 여러개의 변수를 입력받아 여러개의 변수로 출력하는 것은 가장 기본적인 요소입니다. 코딩테스트 문제를 보면 대부분의 입력이 입력값의 개수 N 이 제시되고 그 밑에 여러개의 입력값이 따라오고 출력에서도 저장된 리스트를 여러개의 줄로 출력하는 상황이 오기 때문입니다. 여러개 입력받기 여러개의 변수가 입력되는 경우 N을 입력받고 while문을 이용해 N만큼 순회하면서 입력받을 수 있습니다. N = int(input()) i_Arr = [] while N: i_Arr.append(int(input())) N -= 1 이 코드는 N개의 int형 변수를 i_Arr라는 리스트에 입력해주는 코드입니다. 만약 여기서 한줄에 두개의 int..