반응형

파이썬 문제풀이 40

[백준 파이썬] 4307번 개미

[백준 파이썬] 4307번 개미 문제 개미 여러 마리가 길이가 Lcm 인 막대 위에 있다 각 개미는 1초에 1cm씩 이동한다 개미가 막대 마지막 까지 걸어간다면 즉시 떨어지면 두 개미가 만나면 방향을 반대로 바꾸어 걸어가게 된다. 가장 처음 막대 상의 개미의 위치를 알고있지만 어느 방향으로 움직이는지는 알수 없다. 이때 모든 개미가 땅으로 떨어질 때까지 가능한 시간중 가장 빠른 시간과 가장 느린 시간을 구하는 프로그램을 구하시오 입력 첫줄에 테스트 케이스가 주언지다. 각 테스트 케이스의 첫줄은 막대 길이와 개미수n이 주어진다. n줄에 걸처 개미의 위치가 주어진다. 출력 각 테스트 케이스에 대해서 두 숫자를 출력한다. 첫번째 수는 가장빠른 시간 더번째 수는 가장 늦은 시간이다. 풀이 결국 개미는 오른쪽 왼..

[백준 1806] 부분합

[백준 1806] 부분합 문제 10000 이하의 자연수로 이루어진 길이 n짜리 수열이 주어진다 이 수열에서 연속된 수들의 부분합 중에 그 합이 s 이상이 되는것 중 가장 짧은 것의 길이를 구하는 프로그램을 작성하시오 입력 첫줄에 n과 s가 주어진다. 둘째 줄 에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분된다. 출력 첫 줄에 구하고자 하는 최소의 길이를 출력하며 만약 없으면 0을 출력한다. 풀이 투포인트를 이용하여 풀었다 합 s에 이상이 되는 부분합의 개수를 카운트할 변수로 now와 그 갯수를 넣을 리스트 ans를 만들었다 일단 기본적으로 투포인트와 같은 방식으로 진행한다 while문을 이용하여 현재까지 의 합이 도 달해 야합보다 작거나 end값이 n 보다 작을 때 sum+=data [end]하고..

[백준 파이썬]1106 호텔

[백준 파이썬]1106 호텔 https://www.acmicpc.net/problem/1106 1106번: 호텔 첫째 줄에 C와 형택이가 홍보할 수 있는 도시의 개수 N이 주어진다. C는 1,000보다 작거나 같은 자연수이고, N은 20보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 각 도시에서 홍보할 때 www.acmicpc.net 문제 형택 호텔의 사장인 김형택은 이번에 수입을 조금 늘리기 위해서 홍보를 하려고 한다. 형택이가 홍보를 할 수 있는 도시가 주어지고, 각 도시별로 홍보하는데 드는 비용과, 그 때 몇 명의 호텔 고객이 늘어나는지에 대한 정보가 있다. 예를 들어, “어떤 도시에서 9원을 들여서 홍보하면 3명의 고객이 늘어난다.”와 같은 정보이다. 이때, 이러한 정보에 나타난 돈에 정..

[프로그래머스 파이썬] 순위

[프로그래머스 파이썬] 순위 https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 n명의 권투선수가 권투 대회에 참여했고 각각 1번부터 n번까지 번호를 받았습니다. 권투 경기는 1대 1 방식으로 진행, A 선수가 B 선수보다 실력이 좋다면 A 선수는 B 선수를 항상 이깁니다. 심판은 주어진 경기 결과를 가지고 선수들의 순위를 매기려 합니다. 하지만 몇몇 경기 결과를 분실하여 정확하게 순위를 매길 수 없습니다. 선수의 수 n, 경기 결과를 담은 ..

[백준 파이썬] 2573 빙산

[백준 파이썬] 2573 빙산 https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 문제 입력 첫 줄에는 이차월 배열의 행의 개수와 열의 개수를 나태 내는 N M 이 주어진다 두 번째 줄부터 배열의 각 행을 나타내면 M개의 정수가 비칸 사이에 주어진다 간 칸은 0이상 10 이하의 값이 들어간다 첫 번째 행과 열 마지막행과 열에는 항상 0으로 채워진다 출력 첫줄에 빙산이 분리되는 최초의 시간을 출력한다 빙산이 다 녹음 때 까지 분리되지 않으면 0..

[백준 파이썬] 2505번 두 번 뒤집기

[백준 파이썬] 2505번 두 번 뒤집기 https://www.acmicpc.net/problem/2505 2505번: 두 번 뒤집기 첫줄에는 숫자판의 크기를 나타내는 정수 N (5 ≤ N ≤ 10,000)이 주어진다. 그 다음 줄에는 두 개의 구간이 뒤집혀진 놀이판의 상태를 나타내는 숫자들이 하나의 공백을 두고 나타난다. www.acmicpc.net 문제 입력 -첫 줄에는 숫자판의 크기를 나타내는 정수 n이 주어진다 -두 번째에는 두 개의 구간이 뒤집힌 놀이판의 상태를 나타내는 숫자들이 하나의 공백을 두고 나타난다 출력 첫 두줄에는 뒤집어야 할 구간을 차례대로 출력해야 한다 각 줄에는 구간[i, j]을 나타내면 이는 i와 j를 빈칸 사이에 두고 출력해야 하면 답은 항상 존재한다 풀이 -뒤집는 구간을 선..

[백준 파이썬] 19598 최소 회의실 개수

[백준 파이썬] 19598 최소 회의실 개수 문제 n개의 회의를 모두 진행할 수 있는 최소 회의실 개수를 구하라는 미션을 받았다. 각회의는 시작과 끝 나는 시간이 주어진다. 한 회의실에서 동시에 2개의 회의 진행은 불가능하다. 회는 중간에 중단될수 없으며 끝나야지 다음 회의를 진행할 수 있다. 회의 시작 시간은 끝나는 시간보다 항상 작다 입력 첫줄은 배열의 크기 n 둘째 줄부터 공백사이를 두고 회의 시작 시간과 끝나는 시간이 주어진다. 출력 최소 회의실 개수를 출력한다. 풀이 정답을 넣을 리스트를 만들고 처음 시작할 때 아무런 조건 없이 회의실을 배정받을 수 있다 그 후부터는 배정받은 회의의 끝나는 시간을 다른 회의들의 시작시간하고 비교하여 그 자리를 대체하거나 새로운 회의실을 배정받는 식으로 문제를 풀..

[백준 파이썬]17140 이차원 배열과 연산

[백준 파이썬]17140 이차원 배열과 연산 문제 입력 첫째 줄에 r,ck가 주어지며 둘째 줄부터 배열 A에 들어 있는 수가가 주어진다 출력 A[r][c]=k 가 되기 위한 최소 시간을 출력하고 만약 100초가 지나도 k에 도달하지 못한다면 -1을 출력한다 풀이 1. 행과 열의 갯수를 저장 2. 조건에 R 연산과 C연산을 수행하면 된다 3. 이때 R 연산과 C연산은 방식은 서로 같지만 진행하는 시작점이 행이냐 열이냐에 차이이다 그렇기에 일단 행에 대한 연산을 완성하고 그 후 열과 행을 바꿔서 출력해 줄 수 있는 함수를 C연산할 때 추가해 주면 R연산에 사용한 방법으로도 C연산을 돌릴 수 있다 4. R연산할 때 나는 딕셔너리를 이용하여 현재 행에 대해서 원소의 개수값을 카운트하였고 그 후 (여기 저 주의할..

[백준 파이썬] 3273 두 수의 합

3273 두 수의 합 https://www.acmicpc.net/problem/3273 문제 n개의 서로다른 양의 정수 로 이루어진 수열이 있다 ai의 값은 1보다 크고 1000000보다 작거나 같은 자연수 자연수 x 가 주어질때 ai+aj=x 를 만족하면 (ai,aj)쌍의 수를 구하는 프로그램을 작성하시 입력 첫째 줄에 수열의 크기 n이 주어진다. 다음 줄에는 수열에 포함되는 수가 주어진다. 셋째 줄에는 x가 주어진다. 출력 문제의 조건을 만족하는 쌍의 개수를 출력한다. 풀이 처음 풀었을때에는 완전탐색으로 풀었다 그랬더니 시간초과가 나서 알고리즘 유형을 보니 투 포인터 였다투 포인터가 2개의 위치 좌표를 이용하여 빠르게 합을 구하는 방법 인데 문제 내용을 보니 투 포인터 보다는 이진 탐색에 가까운 풀이..

반응형