본문 바로가기
반응형

알고리즘37

[알고리즘/백준] 2476번 주사위 게임 Python 파이썬 이번 문제는 보기에는 복잡해보이지만 천천히 읽어보면 어렵지 않다. 제일 높은 상금을 구하는 문제들로 문제에서 요구하는 상금 구하는 조건들을 잘 처리해주면 쉽게 풀리는 문제이다. 문제에서 1, 2, 3 에 해당되게 같은 눈이 3개인지 2개인지 없는지 판별한 후 같은 눈에 * 100 / 가장 큰 눈에 * 100 이러한 부분들만 빼먹지 않고 잘 처리해주면 쉽게 풀린다. 다음과 같은 코드를 통해 통과하였다. import sys input = sys.stdin.readline answer = 0 N = int(input()) for i in range(N): n1, n2, n3 = map(int, input().split()) if n1 == n2 and n2 == n3: prize = 10000 + (n1*10.. 2023. 2. 19.
[알고리즘/백준] 2010번 플러그 Python 파이썬 아직 초반이라서 그런지 문제들이 단순하다. 멀티탭을 가지고 컴퓨터를 전원에 몇 개 연결할 수 있는지 구하는 문제로 멀티탭의 특징만 잘 안다면 쉽게 풀린다. 멀티탭과 멀티탭을 연결하기 위해서는 1개의 플러그가 필요하다. 고로 각 멀티탭 플러그 갯수 - 1 개만큼 컴퓨터를 전원에 연결할 수 있다. 이때 주의할 점은 마지막 멀티탭은 다른 멀티탭과 연결을 하지 않기 때문에 -1 를 안해도 된다는 점이다. 다음과 같은 코드를 통해 통과하였다. import sys input = sys.stdin.readline N = int(input()) answer = 0 for i in range(N): num = int(input()) answer += (num-1) print(answer+1) 위에서는 따로 마지막 꺼만 .. 2023. 2. 18.
[python/알고리즘] Softeer(소프티어) 근무 시간 풀이 다음 문제의 조건은 아래와 같다. 해당 문제는 난이도 1답게 단순한 문제이다. 해당 문제에서 걸릴만한 점이 있다면 입력 예제를 어떻게 숫자로 바꾸는지 split() 함수를 알고 있는지 아닌지가 관건이 되는 것 같다. 제출한 코드 : import sys input = sys.stdin.readline work_day = 5 total = 0 for i in range(work_day): start, end = input().split() start_h, start_m = start.split(':') end_h, end_m = end.split(':') total += (int(end_h)-int(start_h))*60 total += int(end_m)-int(start_m) print(total) 이번.. 2023. 2. 14.
[python/알고리즘] Softeer(소프티어) 바이러스 풀이 다음 문제의 조건은 아래와 같다. 해당 문제는 단순히 반복문으로 나눠서 풀게 되면 시간초과가 걸린다. 그래서 처음에 해당 방법으로 풀고 답은 맞는데 오류나서 애먹었는데 다른 분의 풀이를 보고 잘못된 점으로 알았다. 해당 문제를 푸는 방법은 여러가지가 있는데 1번째는 분할 정복이라는 방법이고 2번째는 파이썬 함수인 pow를 사용하는 것이다. 여기서는 pow를 이용하여 풀었다. 1번째 방법보다 훨씬 간단하다. pow(base, exp, mod)으로 base를 exp 제곱하는 함수이고 mod 값을 넣으면 거듭제곱을 하면서 나머지 연산을 수행해주는 역할을 해주기 때문에 적어주는 것이 좋습니다. 제출한 코드 : import sys input = sys.stdin.readline K, P, N = map(int, .. 2023. 2. 10.
반응형