알고리즘 강의를 듣다가, 도저히 이해가 안되서 기초부터 차근차근 풀어보기로 했다.
오늘부터 2~3문제씩 꼭 백준 코딩테스트 (파이썬)을 풀어보는 것을 시작했다.
print('Hello World!)
-> 정말 코딩테스트가 위 문제처럼 나오면 얼마나 좋을까
첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
첫째 줄에 A+B를 출력한다.
a,b = input().split()
print(int(a)+int(b))
-> input() 함수는 사용자로부터 문자열을 받을 때 사용한다.
int는 문자열을 숫자로 변환시켜준다.
split()함수는 입력받은 문자를 나누어준다.
- a,b = input().split()
print(int(a)*int(b))- a,b = map(int,input().split())
print(a*b)
-> split( ) 함수 중, 괄호( ) 안에 아무것도 입력하지 않으면 공백을 기준으로 문자를 나눌 수 있다.
튜플 - 여러개의 변수를 지정할 때 좌변과 우변의 갯수가 같아야함
2번째 풀이법은, map 함수를 이용하여 int를 전체적으로 씌었다.
- a,b = map(int,input().split())
print(a-b)- a,b = input().split()
print(int(a)-int(b))
->input() 함수로 입력을 받게되면 숫자 -> 문자로 입력이 된다.
즉 2,1을 받는다면 두수가 '2 1'라는 문자로 입력이 된다.
따라서 split()을 사용하게되면 공백으 기준으로 문자를 나누게된다.
즉 이 두개의 문자는 튜플을 이용하여 왼쪽 A,B 두개를 지정하면 입력받은 문자가 두개로 나뉘는 변수를 선언하게 된다.
- a,b = input().split()
print(int(a)/int(b))- a,b = map(int,input().split())
print(a/b)
A,B = map(int,input().split())
print(A+B, A-B, A*B, A//B, A&B, sep='\n')
-> 위 값을 출력하게되면 값이 세로로 각각 하나씩 나온다.
고로 sep = 파라미터를 이용하자
sep파라미터는 print 함수에서 쉼표로 구분된 각각의 출력 값 사이에 문자열을 삽입할 수 있다
이러한 성질을 이용해서 이스케이프 문자인 줄 바꿈 문자 '\n'를 출력 값 사이에 삽입하였다
세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오.
- a,b,c = input().split()
a = int(a)
b = int(b)
c = int(c)
print( (a+b)%c )
print( (a&c)+(b&c))&c )
print( (ab)%c )
print( ((a&c)(b*c)) &c )
- a,b,c = map(int,input().split())
print((A+B)%C, ((A%C)+(B%C))%C, (AB)%C, ((A%C)(B%C))%C, sep='\n')
#sep='\n'로 줄바꿈
a = int(input())
b = int(input())
print(a+b)
-> 우선 a를 정수로 만들려면 int(문자->숫자)를 이용해야한다.
여기서 input() 값은 불러온 것을 뜻하는데, input(예를들어 index.html)에서 불러온 값을 int를 통해 문자->숫자로 만드는 방식이다.
a = int(input()) b = input() a1 = a*int(b[2]) a2 = a*int(b[1]) a3 = a*int(b[0]) a4 = a*int(b) print(a1,a2,a3,a4, sep="\n")
-> 숫자를 입력 받을 때마다, 변수에 지정을 하였으며 input 함수는 사용자가 숫자를 입력하면 문자로 받게된다. 따라서 int를 이용하여 문자에서 숫자로 바꾼다.
다만, b의 경우는 문자열로 홀딩한다. 이유는 이 숫자를 한자리씩 떼어내기위함이다. b[0] 이런식으로..
다음 472에서 b의 1자리씩 곱한값을 변수에 넣어주면 됨
그리고 마지막으로 세로로 출력하기 위해서 sep='\n'만 추가하면 끝
백준, 프로그래머스등 지금처럼 하루에 2~3문제씩 풀어보시며 정말 도움 많이되실거에요!