본문 바로가기

분류 전체보기108

백준 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.
백준 3048번 : 개미 문제 www.acmicpc.net/problem/3048 구현 방법 값과 방향을 가진 개미 클래스를 생성하고 이 클래스를 타입으로 가지는 리스트도 생성해주었습니다. 첫 번째 그룹과 두 번째 그룹의 개미수가 주어져있기 때문에 첫 번째 그룹은 'L' 방향으로 거꾸로 추가, 두 번째 그룹은 'R' 방향으로 각각 리스트에 추가한 후 T시간만큼 반복문을 돌려 리스트의 처음부터 끝까지 탐색을 시작했습니다. 다음 방향을 확인하여 현재 방향이랑 다르면 swap 하지만 맞을거라는 제 예상과는 다르게 틀렸습니다... 이유가 뭘까요 한참 생각을 해보니 방향이 다를때마다 swap을 해주는게 아니라 개미는 각자의 방향으로 움직이다가 다른 방향을 만나면 점프를 해주는거였습니다. 저의 알고리즘대로 코드를 구현하게 되면 오른쪽에서 .. 2021. 3. 5.
백준 13901번 : 로봇 문제 www.acmicpc.net/problem/13901 구현 방법 이 문제는 시뮬레이션 문제로 문제에서 요구한 조건대로만 구현한다면 쉽게 구현하실 수 있습니다. 방향을 지정해주기 때문에 따로 방향 배열을 생성하여 넣어주고 현재 방향이 가지 못하는 방향이라면 나머지 연산을 해주어 다음 방향으로 가게끔 해줬습니다. 구현 코드 package BOJ.Silver.구현; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class B13901_로봇 { static int R, C, sr, sc, count; static i.. 2021. 3. 5.