Algorithm/[Python] BOJ

Algorithm/[Python] BOJ

[16139][Python] 인간-컴퓨터 상호작용

문제 https://www.acmicpc.net/problem/16139 16139번: 인간-컴퓨터 상호작용 첫 줄에 문자열 $S$가 주어진다. 문자열의 길이는 $200,000$자 이하이며 알파벳 소문자로만 구성되었다. 두 번째 줄에는 질문의 수 $q$가 주어지며, 문제의 수는 $1\leq q\leq 200,000$을 만족한다. 세 번째 www.acmicpc.net 풀이 주어준 문자열에 특정 범위에 특정 알파벳이 몇 번 나타나는지 출력하는 문제 딕셔너리에 'a'부터 'z'까지 정보를 저장해 둔 뒤에, 누적 합을 이용해 값을 저장한다. 주어진 위치 오른쪽(q[2]) - 왼쪽(q[1] - 1)을 하면 해당 범위에 알파벳(q[0])의 개수를 알 수 있다. 제출 코드 # 2023/03/17 Prefix Sum ..

Algorithm/[Python] BOJ

[10811][Python] 바구니 뒤집기

문제 https://www.acmicpc.net/problem/10811 10811번: 바구니 뒤집기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2 www.acmicpc.net 풀이 N개의 바구니가 있고, 각각의 바구니에는 1부터 N번까지 번호가 순서대로 적혀있다. 역순으로 바꿔야 하는 범위 i와 j가 주어지고, i번째 바구니부터 j번째 바구니의 순서를 역순으로 만든다는 뜻이다. 해당 범위의 원래 순서를 반대로 저장하면 된다. 제출 코드 # 2023/03/16 Implementation # https://www.acmicpc.net/problem/10811 ..

Algorithm/[Python] BOJ

[25206][Python] 공 넣기

문제 https://www.acmicpc.net/problem/10810 10810번: 공 넣기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 www.acmicpc.net 풀이 공이 들어있지 않은 바구니에 공을 넣는 문제 바구니의 개수, 공을 넣는 바구니의 범위와 공의 번호가 주어지므로 해당 범위에 공을 넣는다. 만약, 바구니에 공이 이미 있는 경우에는 들어있는 공을 빼고, 새로 공을 넣는다. 제출 코드 # 2023/03/16 Implementation # https://www.acmicpc.net/problem/10810 N, M = map(int,inpu..

Algorithm/[Python] BOJ

[25206][Python] 너의 평점은

문제 https://www.acmicpc.net/problem/25206 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net 풀이 과목명, 학점, 등급이 주어지고 전공평점을 출력하는 문제 구현해야 하는 것은 다음과 같다. P는 계산에서 제외한다. F는 학점의 총합만 더한다. 나머지는 학점의 총합과 학점 * 과목평점의 합을 더한다. 소수점 출력으로 round 함수를 이용한다. 제출 코드 # 2023/03/16 Implementation, String # https://www.acmicpc.net/problem/25206 ..

Algorithm/[Python] BOJ

[2476][Python] 주사위 게임

문제 https://www.acmicpc.net/problem/2476 2476번: 주사위 게임 첫째 줄에는 참여하는 사람 수 N이 주어지고 그 다음 줄부터 N개의 줄에 사람들이 주사위를 던진 3개의 눈이 빈칸을 사이에 두고 각각 주어진다. www.acmicpc.net 풀이 3가지 경우에 따라 상금의 값을 계산하고 가장 높은 상금의 값을 출력하는 문제 같은 눈이 없는 경우, 같은 눈이 2개인 경우, 같은 눈이 3개인 경우가 있으며 해당 조건에 맞게 구현하면 된다. 제출 코드 # 2023/03/16 Implementation # https://www.acmicpc.net/problem/2476 res = 0 for _ in range(int(input())): a, b, c = map(int,input()..

Algorithm/[Python] BOJ

[23289][Python] 온풍기 안녕!

문제 https://www.acmicpc.net/problem/23289 23289번: 온풍기 안녕! 유난히 추운 날씨가 예상되는 이번 겨울을 대비하기 위해 구사과는 온풍기를 설치하려고 한다. 온풍기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기 www.acmicpc.net 풀이 온풍기 안녕! 하기 힘든 문제 입력은 방의 크기(R, C)와 조사해야 하는 칸의 온도(K)가 주어지고, 다음 줄에는 R * C 만큼 방에 대한 정보가 주어진다. 각 칸의 숫자가 의미하는 것은 다음과 같다. 0 : 빈칸 1 : 방향이 오른쪽인 온풍기 2 : 방향이 왼쪽인 온풍기 3 : 방향이 위쪽인 온풍기 4 : 방향이 아래인 온풍기 5 : 온도를 조사해야 하는 칸 다음 줄은 벽의 개수(..

Algorithm/[Python] BOJ

[20116][Python] 상자의 균형

문제 https://www.acmicpc.net/problem/20116 20116번: 상자의 균형 3번 박스의 중심의 x좌표는 9이며 2번 박스의 구간 (0, 20) 에 속한다. 그리고 2, 3번 박스의 중심의 x좌표는 (10+9)/2 = 9.5 이고 1번 박스의 구간 (-10, 10) 에 속하므로 균형을 이룬다. www.acmicpc.net 풀이 상자의 개수 N, 사이즈 L, 상자들의 무게중심 X1, ..., Xn이 주어졌을 때, 상자가 균형을 이룰 수 있는지 출력하는 문제 상자를 쌓아 올리고 균형을 비교해야 하므로 현재 층과 다음층의 좌표를 비교해 내부에 들어간다면 쌓아 올린 것이다. 평균값을 구하는 방법이 중요한데 다음 위치에서 끝까지의 합을 구하려면 시간이 부족하다. 따라서 누적 합을 사용해 값..

Algorithm/[Python] BOJ

[17822][Python] 원판 돌리기

문제 https://www.acmicpc.net/problem/17822 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀 www.acmicpc.net 풀이 N개의 원판, 각각의 원판에 들어간 수 M개, 회전 횟수 T만큼 회전하는 방법이 주어진다. 회전하는 방법은 x, d, k로 x의 배수의 원판을 d 방향으로 k번 회전한다는 의미다. d가 0인 경우는 시계 방향, 1인 경우는 반시계 방향이다. 해결해야 하는 것은 다음과 같다. 각각의 회전(T)이 수행된 후 수가 있다면 인접한 수가 같은 것을 모두 찾는다. 1. 그러한 수가..

Simple710
'Algorithm/[Python] BOJ' 카테고리의 글 목록 (2 Page)