10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net import sys while True: a,b = map(int,sys.stdin.readline().split()) if (a==0 & b==0): break print(a+b) 몇 개가 들어올지 모르기 떄문에, 이 문제는 for 루프를 쓸 수 없다. 그렇기에 이 문제는 while 루프를 이용해서 각 라인마다 a,b를 받아주고, a+b를 출력해줘야 한다. 만약에 a=0, b=0 이 나온다면 0은 출력하지 않아야 하므로 print 전에 if 문을 사용해서 break 해준다. 항상 예시 입력과 출력을 잘 보면서 코드를 짜야 한다. 요구하는대로 짜지 않으면 나중에 가서 낭패..
10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net import sys t = int(sys.stdin.readline()) for _ in range(t): a,b = map(int,sys.stdin.readline().split()) print(a+b) 처음에 t를 입력받는다. 줄이 바뀌는 테스트 케이스를 입력받으려면 t번까지 for 루프를 계속 돌면서 입력받는 수 밖에 없다. 따라서 a,b를 한번 루프를 돌떄마다 받고, a+b를 계속 프린트 해주면 된다. 여기서 _ 문자는 어떤 기호를 무시하고 진행한다는 의미이다. i가 딱히 필요 없을 때 사용하는 것으로, i를 만드는 데 사용 될 메모리 사용량을 아주 조금 줄일 수 ..
10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net x = int(input()) a = 1 for i in range(1,x+1): a = i*a print(a) 팩토리얼의 개념은 1부터 n까지 곱한 수이다. for 루프를 사용해서 곱해준다. 이때, 주의할 것이 있는데 x가 0이나 1이라면 1을 출력해야 한다. 그렇기에 a를 먼저 1로 잡아주고, range 함수는 range(1,x+1) 이렇게 있다면 1부터 x까지만 i에 넣고, 시작과 끝이 같다면 시작 숫자 한번만 i에 넣는다. 따라서 x가 0일때 range(1,1)은 1 하나만 들어가고, x가 1일때는 range(1,2)도 1 하나만 들어간다. 팩토리얼의 개념은 ..
2741번: N 찍기 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net print('\n'.join(map(str,range(1, int(input()) + 1)))) for로 출력하는 방법이 정석이긴 하다. 근데 필자는 조금 다르게 풀었다. .join(문자열) 함수는 문자열들이 주어졌을 때 합쳐서 출력해주는 함수이다. 그렇기에 range 함수를 써서 1부터 목표인 n까지 input()을 받으려면 int(input()) + 1까지를 범위로 해주어야 하고, 이걸 map 함수로 str로 바꿔 각 줄마다 출력할 수 있도록 '\n'.join 해주면 된다. 왜인진 모르겠는데 아무도 이런식으로 코딩한적이 없어서 python에선 필자가 1등을 먹은 ..
2420번: 사파리월드 첫째 줄에 두 도메인의 유명도 N과 M이 주어진다. (-2,000,000,000 ≤ N, M ≤ 2,000,000,000) www.acmicpc.net n,m = map(int, input().split()) print(abs(n-m)) 두 개의 유명도 n과 m 이 주어졌을 때 그 차이를 구하면 된다. 우선 map 함수로 n과 m을 받는다. abs는 어떤 수를 절대값으로 만들어주는 함수이다. 두 수가 주어졌을 때 두 수를 빼고 절대값을 취하면 차이를 뜻하므로 다음과 같이 코딩해주면 된다.
2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net x = int(input()) if(((x%4 ==0) & (x%100!=0)) | (x%400==0)): print(1) else: print(0) 간단한 수학 문제이다. (윤년은 4의 배수이면서, 100의 배수가 아닐 때) 또는 (400의 배수일 때)이다. 여기서 4의 배수일려면, x를 4로 나눈 나머지가 0이어야 한다. 마찬가지로 100의 배수일려면 100으로 나눈 나머지가 0이어야 하므로 그것만 아니면 된다. 또 400의 배수일려면 400으로 ..