문제 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 풀이 1차 시도 in_data = int(input()) start = int(in_data/2) if(start == 0 or in_data in_data + ..
문제 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 풀이 limit = int(input()) result = [] for x in range(limit): answer_list = input() score = 0 total = 0 for a in answer_list: if(a == 'O'): score += 1 total += score else: score = 0 result.append(total) print('\n'.join((str(e) for e in result))) 이 문..
문제 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net 풀이 year = int(input()) if ((year % 4 == 0 and year % 100 != 0) or year % 400 == 0 ): print(1) else : print(0) 문제를 그대로 조건화 해서 작성하면 위 코드와 같다. 4의 배수 이면서(and) 100의 배수가 아닐 때 또는(or) 400의 배수일 때 각각의 조건을 분리한다면 A 조건과 B 조건이 나온다. A 조건 : 4의 배수 이면서 100의 배수가 아닌 것 B 조..
문제 흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다. 예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다. 점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다. 풀이 Python x = int(input()) y = int(input()) if(x * y > 0): if(x > 0): print(1) else: print(3) else: if(x > 0): print(..
문제 자신이 백준 온라인 저지(BOJ)에서 맞은 문제의 수와 아이디를 그대로 출력하는 프로그램을 작성하시오. 첫 줄에 자신이 맞은 문제의 수, 둘째 줄에 아이디를 출력한다. Python print(f'{solved}\n{user}') Javascript console.log(`${solved}\n${user}`); 삽질 이 문제의 경우 단순한 출력을 위한 문제이기 때문에 별다른 코멘트가 없다. 처음에는 웹 페이지 파싱을 이용해서 얻는 문제인 줄 알고 시도했지만 계속 런타임 에러나 not found module이 계속 발생했다. 이것 저것 써보다가 안되겠다 싶어 구글링을 해보니 단순히 자신의 정보를 확인해서 적는 문제였다. 문제 난이도가 낮은 이유가 있었구나 싶었는데 이렇게 끝내는건 아쉬워 삽질한 코드를 ..
문제 서울의 오늘 날짜를 출력하는 프로그램을 작성하시오. "YYYY-MM-DD" 형식으로 출력한다. Python from datetime import datetime, timedelta now = datetime.now() + timedelta(hours=9) print(now.strftime("%Y-%m-%d")) now = datetime.now() + timedelta(hours=9) timedelta(hours)를 통해 utc 보다 9시간 빠른 한국의 시간을 지정해준다. print(now.strftime("%Y-%m-%d")) datetime의 strftime 메서드를 사용해 날짜 형식을 지정하는 방법을 사용한다. strftime 문서를 참고하면 원하는 형식으로 쉽게 형식을 지정할 수 있다. No..