알고리즘 공부/BOJ백준 풀이
[백준 10430번-파이썬/Python] 나머지
http://acmicpc.net/problem/10430 {코드} a, b, c = map(int, input().split()) print((a+b)%c) print(((a+c)+(b+c))%c) print((a*b)%c) print(((a%c)*(b%c))%c) {설명} 이 문제는 출력 조건에 있는 것처럼 3개의 정수로 만들어진 4가지의 값을 출력하기만 하면 되는 문제입니다. 입력은 한줄에 주어지므로 map을 통해 정수로 입력받으면 됩니다.
[백준 10869번-파이썬/Python] 사칙연산
http://acmicpc.net/problem/10869 {코드} a, b = map(int, input().split()) print(a+b) print(a-b) print(a*b) print(a//b) print(a%b) {설명} 이 문제는 지난 4개의 글을 한문제로 합친 것과 같습니다. 결국 map함수를 통해 정수 두개를 입력받고 문제가 요구하는 각 연산을 실행하면 되는 문제입니다.. 이때, /, 즉 나눗셈은 목 연산이므로 //를 써야하고 나머지 연산을 위해 %를 사용하면 각 연산당 한줄씩 출력하면 됩니다. {코드} numbers = input().split() operators = ['+', '-', '*', '//', '%'] for operator in operators: print(eval..
[백준 1008번-파이썬/Python] A/B
http://acmicpc.net/problem/1008 {코드} a, b = map(int, input().split()) print(a/b) {설명} 정수인 숫자 두개가 한줄에 입력받으므로 map함수를 사용한다. 파이썬은 정수간의 나눗셈에서 /를 사용하면 실수결과를 반환하고 //를 쓰면 나눗셈의 몫을 반환한다. 그러므로 print문 안에 /를 통해 출력하면 된다. 파이썬은 소수를 반복되기 전까지는 전부, 반복된다면 반복되는 부분을 추가로 16자리까지 출력하므로 오차범위를 생각할 필요가 없다. {코드} print(eval('/'.join(input().split()))) {설명} 이걸 파이토닉(Pythonic-파이썬스럽게 만드는 것)하게 만들자면, 파이썬에는 기본적으로 eval이라는 함수가 주어집니다...
[백준 10998번-파이썬/Python] A × B
http://acmicpc.net/problem/10998 {코드} a, b = map(int, input().split()) print(a*b) {설명} 정수인 숫자 두개가 한줄에 입력받으므로 map함수를 사용한다. 기본적인 사칙연산이므로 print문 안에 *를 통해 바로 출력하면 된다. {코드} print(eval('*'.join(input().split()))) {설명} 이걸 파이토닉(Pythonic-파이썬스럽게 만드는 것)하게 만들자면, 파이썬에는 기본적으로 eval이라는 함수가 주어집니다. eval은 연산식을 인자로 넘겨주며 해당 식의 결과를 반환합니다. (예: eval('5==4')는 False, eval('5*3')는 15를 반환) 그리고 join은 해당 함수를 부른 문자열을 join의 파라..
[백준 1001번-파이썬/Python] A-B
http://acmicpc.net/problem/1001 {코드} a, b = map(int, input().split()) print(a-b) {설명} 정수인 숫자 두개가 한줄에 입력받으므로 map함수를 사용한다. 기본적인 사칙연산이므로 print문 안에 -를 통해 바로 출력하면 된다. {코드} print(eval('-'.join(input().split()))) {설명} 이걸 파이토닉(Pythonic-파이썬스럽게 만드는 것)하게 만들자면, 파이썬에는 기본적으로 eval이라는 함수가 주어집니다. eval은 연산식을 인자로 넘겨주며 해당 식의 결과를 반환합니다. (예: eval('5==4')는 False, eval('5*3')는 15를 반환) 그리고 join은 해당 함수를 부른 문자열을 join의 파라미..
[백준 1000번-파이썬/Python] A+B
https://acmicpc.net/1000 {코드} a, b = map(int, input().split()) print(a+b) {설명} 정수인 숫자 두개가 한줄에 입력받으므로 map함수를 사용한다. 기본적인 사칙연산이므로 print문 안에 +를 통해 바로 출력하면 된다. {코드} print(eval('+'.join(input().split()))) # sum 함수를 사용한 예 print(sum(map(int, input().split()))) {설명} 이걸 파이토닉(Pythonic-파이썬스럽게 만드는 것)하게 만들자면, 파이썬에는 기본적으로 eval이라는 함수가 주어집니다. eval은 연산식을 인자로 넘겨주며 해당 식의 결과를 반환합니다. (예: eval('5==4')는 False, eval('5*..
[백준 10172번-파이썬/Python] 개
https://acmicpc.net/problem/10172 {코드} print('|\\_/|') print('|q p| /}') print('( 0 )"""\\') print('|"^"` |') print('||_/=\\\\__|') {설명} 이 문제는 10171 문제와 똑같은 문제라고 볼 수 있다. \는 대부분의 프로그래밍 언어에서 이스케이프 문자를 시작하는데 쓰이므로 \를 출력하기 위해서는 \\를 대신 사용해야한다.
[백준 10171번-파이썬/Python] 고양이
http://acmicpc.net/problem/10171 {코드} print("\\ /\\") print(" ) ( ')") print("( / )") print(" \\(__)|") {설명} 대부분의 프로그래밍 언어에서 \는 이스케이프 문자를 표시합니다. 예를 들어 \n은 줄바꿈, \t는 탭, 그리고 \\는 \를 출력합니다. 즉 \를 출력하기 위해서는 \\를 써줘야하는 것입니다.
[백준 10718번-파이썬/Python] We love kriii
https://www.acmicpc.net/problem/10718 {코드} print('강한친구 대한육군\n'*2) {설명} 이 문제는 2557번과 유사하게 입력없이 예제와 똑같이 출력하는 문제입니다. {코드} print('강한친구 대한육군') print('강한친구 대한육군') {설명} 여기서 \n은 줄바꿈 문자로 다음 출력 위치를 다음 줄로 이동시킵니다. 그리고 파이썬의 * 를 문자열에 적용할 시 해당 문자열을 n배하므로 밑의 코드와 같은 역할을 하게됩니다. C/C++의 경우 표준 출력인 printf와 달리 파이썬의 print는 기본적으로 \n을 마지막에 실행하므로 따로 \n을 쓰진 않습니다.
[백준 2557번-파이썬/Python] Hello World
https://www.acmicpc.net/problem/2557 {코드} print('Hello World!') {설명} 이 문제는 매우 기본적인 문법 문제로 입력 없이 "Hello World!"를 출력하는 문제입니다.