본문 바로가기

백준98

백준 1541번 : 잃어버린 괄호 문제 www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 구현 방법 생각보다 간단한 문제였습니다. 연산자가 +, - 밖에 없기 때문에 수를 나열했을 때 -가 나오면 남은 뒤를 싹 -시켜버리면 최솟값이 나옵니다. 예제를 통해 예를 들어보겠습니다. 55-50+40 일 때의 최솟값은 55-(50+40) 일 때 입니다. 이렇게 처음부터 수를 탐색하다 -가 나오면 뒤를 싹 빼줍니다. 수를 탐색해야 하기 때문에 문자열을 숫자로 바꾸어 리스트에 넣어줍니다. 처음 입력된.. 2021. 3. 5.
백준 1449번 : 수리공 항승 문제 www.acmicpc.net/problem/1449 1449번: 수리공 항승 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나 www.acmicpc.net 구현 방법 테이프 하나로 물이 새는 곳을 막을 때 테이프만큼의 길이 내에 있으면 같이 물을 막을 수 있습니다. 수를 정렬한 후 제일 작은 값부터 시작하여 테이프로 막아줍니다. 테이프 길이 내에 있으면 그냥 막아지고 길이를 벗어나면 새로운 테이프로 막아줍니다. 예제를 통해 예를 들어보겠습니다. 물이 새는 곳의 위치들이 1 2 100 101, 테이프 길이가 2 일 때 테이프는 제일 작은 값인 .. 2021. 3. 5.
백준 14889번 : 스타트와 링크 문제 www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 구현 방법 저는 조합을 두 번 사용해서 풀어주었습니다. 방법을 단계로 나누어 생각해보았습니다. 1. 조합 개수 구하기 일단 조합의 개수를 구해줬습니다. 조합들을 구해보니 만약 N이 4일 때 (1, 2) (1, 3) (1, 4) (2, 3) (2, 4) (3, 4) 로 6개 입니다. 이 조합으로 능력치를 다 계산해봐도 좋지만 스타트 팀이 (1, 2)일 때 링크 팀은 (3, 4), 스타트 팀이 (3, 4)일 때 링크 팀은 (1, .. 2021. 3. 5.
백준 1972번 : 놀라운 문자열 문제 www.acmicpc.net/problem/1972 1972번: 놀라운 문자열 대문자 알파벳으로만 이루어져 있는 문자열이 있다. 이 문자열에 대해서 ‘D-쌍’이라는 것을 정의할 수 있는데, 이 문자열에 포함되어 있는, 거리가 D인 두 문자를 순서대로 나열한 것을 이 문 www.acmicpc.net 구현 방법 쌍은 하나씩 늘어가니 이중 포문을 사용하여 바깥 포문은 D쌍을 하나씩 늘려주었고, 안쪽 포문은 i에서 i+d 까지 인덱스 i, i+D 의 값들을 리스트에 저장해주었습니다. 안쪽 포문이 끝난 후 리스트를 검사해주는 포문을 또 만들어주었습니다. 리스트를 검사하다 겹치는게 있다면 flag = true로 하여 반복문을 멈추게 하였고 flag가 true이면 NOT surprising, false이면 su.. 2021. 3. 5.