PS/baekjoon 12

(C++) 단계별로 풀어보기 - 입출력과 사칙연산

입출력과 사칙연산 https://www.acmicpc.net/step/1 기본적인 입출력과 +, -, *, /, //, % 등 사칙연산을 다뤄봅니다. 목록 Hello World We love kriii 고양이 개 A+B A-B A*B A/B 사칙연산 나머지 곱셈 Hello World 난이도 : Bronze V 문제 Hello World!를 출력하시오 입력 없음 풀이 #include using namespace std; int main() { cout > A >> B; cout > A >> B; cout > A >> B; cout > A >> B; cout.precision(10); cout > A >> B; cout

PS/baekjoon 2020.12.09

(Python) 단계별로 풀어보기 - 재귀

재귀 목차 팩토리얼 피보나치 수 5 별 찍기 10 하노이 탑 이동 순서 팩토리얼 난이도 : Bronze III 문제 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N(0 ≤ N ≤ 12)가 주어진다. 풀이 def fac(N): if N < 2: return 1 return N * fac(N - 1) print(fac(int(input()))) 기본적인 재귀함수의 사용법을 알아보는 문제였다. answer = 1 for i in range(1, int(input()) + 1): answer *= i print(answer) 위와 같은 단순 반복문이 더 빠르고 재귀횟수를 초과할 걱정도 없어 입력값이 매우 커지면 더 안전하다. 피보나치 수 5 난이도..

PS/baekjoon 2020.12.09

(Python) 단계별로 풀어보기 - 브루트 포스

브루트 포스 가능한 경우의 수를 모두 탐색하며 정답을 찾아보자 목차 블랙잭 분해합 덩치 체스판 다시 칠하기 영화감독 숌 블랙잭 난이도 : Bronze II 문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그 다음, 딜러는 N장의 카드를 모두 숫자가 보이도록 바닥에 놓는다. 그런 후에 딜러는 숫자 M을 크게 외친다. 이제 플레이어는 제한된 시간 안에 N장의 카드 중에서 3장의 카드를 골라야 한다. 블랙잭..

PS/baekjoon 2020.12.09

(Python) 단계별로 풀어보기 - 수학 1

수학 1 분명 난이도는 낮은데 나한텐 너무 어렵다 역시 수학은 나랑 안맞아... 목차 손익분기점 설탕 배달 벌집 분수찾기 달팽이는 올라가고 싶다 ACM 호텔 부녀회장이 될테야 Fly me to the Alpha Centauri 손익분기점 난이도 : Bronze IV 문제 링크 입력 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 21억 이하의 자연수이다. 풀이 import math A, B, C = map(int, input().split()) if B >= C: print(-1) else: print(math.trunc(A/(C - B)) + 1) math 모듈의 ceil()를 사용해 올림, trunc() 를 사용해 내림을 할 수 있다. 처음으로 이익이 나는 때를 찾..

PS/baekjoon 2020.12.02

(Python) 단계별로 풀어보기 - 문자열

문자열 Python의 장점! 하면 항상 들어가는 것 중 하나가 문자열 처리가 쉽다이다. Python에서 문자열의 처리를 배워보자 목차 아스키 코드 숫자의 합 알파벳 찾기 문자열 반복 단어 공부 단어의 개수 상수 다이얼 크로아티아 알파벳 그룹 단어 체커 아스키 코드 난이도 Bronze V 문제 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. 입력 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. 풀이 print(ord(input())) ord()를 사용하면 해당 문자를 아스키 코드로 변환해준다. 숫자의 합 난이도 Bronze II 문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을..

PS/baekjoon 2020.12.02

(Python) 단계별로 풀어보기 - 함수

함수 Python에서 Function을 구현해보자 목차 정수 N개의 합 셀프 넘버 한수 정수 N개의 합 난이도 : Bronze II 문제 정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하시오. 작성해야 하는 함수는 다음과 같다. 입력 def solve(a: list) a: 합을 구해야 하는 정수 n개가 저장되어 있는 리스트 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000) 풀이 def solve(a): return sum(a) Python에서는 함수의 매개 변수, 리턴 값의 자료형을 알아서 처리해주므로 따로 입력해주지 않아도 된다. 셀프 넘버 난이도 : Bronze I 문제 링크 입력 없음 풀이 def plus(num): for n in str(num): num += ..

PS/baekjoon 2020.12.01

(Python) 단계별로 풀어보기 - 일차원 배열

일차원 배열 목차 최소, 최대 최댓값 숫자의 개수 나머지 평균 OX퀴즈 평균은 넘겠지 최소, 최대 난이도 : Bronze III 문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 풀이 N = int(input()) numList = list(map(int, input().split())) print(min(numList), max(numList)) min(), max()를 통해 List에서 최소값, 최대값을 찾을 수 있다. 최댓값 난이도 : ..

PS/baekjoon 2020.11.30

(Python) 단계별로 풀어보기 - while문

while문 목차 A+B-5 A+B-4 더하기 사이클 A+B-5 난이도 : Bronze III 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 입력의 마지막에는 0 두 개가 들어온다. 풀이 while True: A, B = map(int, input().split()) if A or B: print(A + B) else: break 기본적인 while문 사용법이다. A, B 모두 0이 아닌경우 print(A + B)를 해주었다. A+B-4 난이도 : Bronze III 문제 두 정수 A와 B를 입력받은 다음, A..

PS/baekjoon 2020.11.29

(Python) 단계별로 풀어보기 - for문

for문 python for문의 활용법을 익혀보자 목차 구구단 A+B-3 합 빠른 A+B N 찍기 기찍 N A+B-7 A+B-8 별찍기-1 별찍기-2 X보다 작은 수 구구단 난이도 : Bronze III 문제 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다. 풀이 N = int(input()) for i in range(1, 10): print(N, &#39;*&#39;, i, &#39;=&#39;, N * i) 기본적인 for문 사용법을 물어보는 문제였다. print()에 ,(콤마)를 사용하면 한칸 띄어서 출력된다. A+B-3 난이도 : Bronze III 문제 두 정수 ..

PS/baekjoon 2020.11.29

(Python) 단계별로 풀어보기 - if문

if문 Python에서 if문의 사용법을 알아보자 목록 두 수 비교하기 시험 성적 윤년 사분면 고르기 알람 시계 두 수 비교하기 난이도 : Bronze IV 문제 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다. 풀이 A, B = map(int, input().split()) print('>' if A > B else '') elif A B else '

PS/baekjoon 2020.11.28