IT/알고리즘
-
백준 14681 사분면 고르기 파이썬IT/알고리즘 2022. 2. 14. 21:35
문제 흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다. 예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다. 점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다. 입력 첫 줄에는 정수 x가 주어진다. (−1000 ≤ x ≤ 1000; x ≠ 0) 다음 줄에는 정수 y가 주어진다. (−1000 ≤ y ≤ 1000; y ≠ 0) 출력 점 (x, y)의 사분면 번호(1, 2,..
-
백준 2753 윤년 파이썬IT/알고리즘 2022. 2. 14. 21:03
문제 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다. 입력 첫째 줄에 연도가 주어진다. 연도는 1보다 크거나 같고, 4000보다 작거나 같은 자연수이다. 출력 첫째 줄에 윤년이면 1, 아니면 0을 출력한다. 풀이 year = int(input()) if year%4 == 0 and year%100 != 0 or year%400 == 0 : print(1) else : print(..
-
백준 2588 곱셈 파이썬IT/알고리즘 2022. 2. 13. 22:39
문제 (세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다. (1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오. 혼자 또 문과스럽게 풀어대다가 틀려서 답 찾아봄 나는 전부 정수로 하고 하나씩 슬라이싱해서 변수 하나씩 만들어서 했는데,, 그럴필요가 없구나 3가지 방법이 있는데 제일 간단한 방법을 찾았다. 결과 A = int(input()) B = input() print(A*int(B[2])) print(A*int(B[1])) print(A*int(B[0])) print(A*int(B)) A를 정수로하고 B는 곱할때 슬라이싱해서 정수로 곱해주기
-
백준 10869번 사칙연산 파이썬IT/알고리즘 2022. 2. 13. 21:31
문제 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 앞전 것들은 1000번과 같은 양식으로 해도 됐는데, 이건 똑같이 해도 안되길래 봤더니 몫이 문제였음. 일단 내가 푼건 A, B= map(int, input().split()) print(A+B) print(A-B) print(A*B) print(int(A/B)) print(A%B) 이렇게 했는데, 좀 이해안되는건 이미 위에서 정수로 바꿔줬는데 나누기에서 또 int를 해줘야 한다는거 다른 사람들 거 찾아봤더니 몫의 딱 떨어지는 값을 구할때는 '//' 를 하더라. print(A//B)
-
백준 1000번 A+B 파이썬IT/알고리즘 2022. 2. 13. 21:09
문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 1. input 함수 사용? 2. split 함수 사용? 3. map 함수 사용? 결과 A, B= map(int, input().split()) print(A+B) map 함수 사용시 print 빼고 1줄로 가능; input().split() 쓰고 그냥 A+B하면 정수가 아니라서 그냥 나와버림 ex) 10, 12 적고 프린트 하면 22아니고 1012 출력 map 함수 안쓰면 어떻게 할 수 있을까? input과 split을 알고있다고 했을때 A, B = input().split() a = int(A) b = int(B) print(a+b) 이렇게 하면 된다. 참고 map 이라는 함수는 리스트의 요소를 지정된 함수로 처리해주는..