백준
-
[BOJ] 사분면 고르기 - 14681ComputerScience/Algorithm 2024. 9. 12. 11:16
[Bronze V] 사분면 고르기 - 14681문제 링크성능 요약메모리: 31120 KB, 시간: 32 ms분류구현, 기하학제출 일자2024년 9월 12일 10:23:09문제 설명흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다.예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다.점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다.입력첫 줄에는 정수 x가 주어진다. (−1..
-
[BOJ] 두 수 비교하기 - 1330ComputerScience/Algorithm 2024. 9. 11. 14:49
문제문제 설명두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.입력첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다.출력첫째 줄에 다음 세 가지 중 하나를 출력한다.A가 B보다 큰 경우에는 '>'를 출력한다.A가 B보다 작은 경우에는 ''를 출력한다.A와 B가 같은 경우에는 '=='를 출력한다.성능 요약메모리: 31120 KB, 시간: 32 ms분류구현접근 방법입력을 받고, 리스트 인덱싱을 통해 대소를 비교하는 방식을 선택하였다.import sys input = sys.stdin.readline arr = list(map(int, input().split())) if arr\[0\] > arr\[1\]: print('>') elif arr\[..
-
[BOJ] 숫자의 합 - 11720ComputerScience/Algorithm 2024. 4. 5. 14:27
문제 성능 요약메모리: 31120 KB, 시간: 44 ms분류구현수학문자열접근 방법일렬로 들어오는, 구분자가 없는 문자열을 어떻게 처리할지 고민했다.split() 함수를 사용할 수 있었다. 하지만 split()은 공백, 쉽표 등의 구분자가 존재해야만 했고 이를 사용할 수 없다는 것을 알게 되었다.공백이 없는 문자열을 자르기 위해서는 list()를 사용할 수 있었다. 하지만 list()는 input()으로 들어온 모든 문자열을 문자 하나씩 원소화한다. 따라서 '\n'과 같은 개행문자도 원소에 포함한다.이를 위해서 rstrip()을 활용해 '\n'을 제거하였다.정답import sysinput = sys.stdin.readlinen = int(input())b = list(map(int, list(input(..
-
[BOJ] 소인수분해 - 11653ComputerScience/Algorithm 2024. 4. 5. 10:58
문제 접근 방법부끄럽지만 일단 소인수 분해에 대해 다시 찾아봤다..소인수분해란, 어떤 자연수를 소인수(소수인 인수)들의 곱으로 나타내는 것이다. 그렇다면 '소수'란 무엇인가?소수는 1과 자기 자신만을 인수로 갖는 수를 말한다. 그렇다면 우리가 구해야 할 것은 '소수'라고 생각해서, 나눠주는 과정 속에서 그 다음 소수로 나눠주고, 안나눠지면 또 다른 소수를 나눠주면 되겠다 생각했다.while n == i: if n % i != 0 : n = n // i; print(i) else: i += 1 if i % 2 == 0: i += 1 다음과 같이 접근하여, 자연수를 소수를 인수분해 하면 n이 인수가 될 때 까지 반복하면 끝난다..