본문 바로가기

분류 전체보기

(42)
[Python] BOJ 백준 21919번 소수최소공배수 문제 행복이는 길이가 N인 수열 A에서 소수들을 골라 최소공배수를 구해보려고 한다. 행복이를 도와 이를 계산해주자. 첫째 줄에 수열 A의 길이 N이 주어진다. (1≤N≤10,000) 그 다음줄에는 수열 A의 원소 Ai가 공백으로 구분되어 주어진다. (2≤Ai≤1,000,000) 답이 2**63 미만인 입력만 주어진다. 풀이 최대공약수, 최소공배수를 구하는 함수를 이용했다. 소수들의 최소공배수를 구할 때, 소수들은 서로 최대공약수가 1이기 때문에 그냥 전부 곱해주면 된다. from math import sqrt import sys si = sys.stdin.readline n = int(si()) arr = list(map(int, si().split())) prime_list = [] def is_pri..
[Python] BOJ 백준 21918번 전구 문제 N개의 전구가 있고 맨 왼쪽에 있는 전구를 첫 번째라고 하자. 전구의 상태는 두 가지가 있으며 이를 숫자로 표현한다. 1은 전구가 켜져 있는 상태를 의미하고, 0은 전구가 꺼져 있는 상태를 의미한다. 전구를 제어하는 명령어가 1번부터 4번까지 4개가 있다. 아래 표는 각 명령어에 대한 설명이다. 모든 명령어를 수행한 후 전구가 어떤 상태인지 출력한다. 풀이 이 문제는 단순 하드코딩으로 풀 수 있는 문제였다. 들어온 명령에 따라서 비트 연산으로 반전 시키는 법도 존재한다고 한다. import sys si = sys.stdin.readline n, m = map(int, si().split()) arr = list(map(int, si().split())) def command(c): global ar..