Java

    [백준]1417번 국회의원 선거 - Java

    [백준]1417번 국회의원 선거 - Java

    문제 https://www.acmicpc.net/problem/1417 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net 풀이 쉬운 문제임 for문을 돌면서 후보자들 중 가장 많은 표를 가지고 있는 후보자를 찾고 그 표가 다솜이의 표보다 많다면 그 후보자의 표를 -1 해주고 다솜이의 표를 +1 해준다. while(true){ ] 안에서 다솜이의 표가 다른 후보자들의 표보다 많아질 때까지 정답에 해당하는 로직을 반복하면 된다. 진짜 이게 끝임! 코드 // 1417번 국회의원 선거 // https://w..

    [백준]2468번 안전 영역 - Java

    [백준]2468번 안전 영역 - Java

    문제 https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 풀이 많이 풀어본 듯한 유형의 문제??? visited[][] 배열을 만들어서 방문한 곳을 체킹하면서 풀 수도 있겠지만 나는 탐색하고 있는 tempMap의 값을 직접 스지않는 값(코드 에서는 -1)으로 바꿔주고 그거를 방문했다는 표시로 봤음! 강수량을 증가시킬 때마다 사방탐색을 하면서 DFS를 돌려주고 그렇게 해서 나온 값들 중 가장 큰 값을 정답으로 출력해줬다. solution() 함수 안에서는 ..

    [백준]2840번 행운의 바퀴 - Java

    [백준]2840번 행운의 바퀴 - Java

    문제 https://www.acmicpc.net/problem/2840 2840번: 행운의 바퀴 첫째 줄에 마지막 회전에서 화살표가 가리키는 문자부터 시계방향으로 바퀴에 적어놓은 알파벳을 출력한다. 이때, 어떤 글자인지 결정하지 못하는 칸은 '?'를 출력한다. 만약, 상덕이가 적어놓 www.acmicpc.net 풀이 또 문제를 잘 읽지 않아서 시간을 버렸다,,, 문제 초반에 분명하게 '바퀴에 같은 글자는 두 번 이상 등장하지 않는다.' 라고 써있는데도 안 읽고 풀었다가 헤맸다 ㅠㅠ ArrayList를 큐처럼 사용하여 풀었다 자세한건 주석으로! 코드 // 2840번 행운의 바퀴 // https://www.acmicpc.net/problem/2840 package BAEKJOON; import java.io..

    [백준]1244번 스위치 켜고 끄기 - Java

    [백준]1244번 스위치 켜고 끄기 - Java

    문제 https://www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 풀이 문제에 맞게 잘 따라가면 됨 남학생 부분은 % 연산으로 쉽게 해결 가능 여학생의 경우 for문 안에서 가운데 부터 왼쪽 + 오른쪽으로 하나씩 인덱스를 이동하면서 비교 후 연산을 해줌 코드 // 1244번 스위치 켜고 끄기 // https://www.acmicpc.net/problem/1244 package BAEKJOON; import java.io.BufferedReader; i..

    [백준]3085번 사탕 게임 - Java

    [백준]3085번 사탕 게임 - Java

    문제 https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net 풀이 완전완전탐색으로 풀었음 2차원 배열을 하나하나씩 돌면서 4방으로 탐색해줌 인접한 사탕이 같은 종류면 다음 방향으로 넘어가고, 다른 종류면 스왑한 다음 solution() 함수를 실행하여 연속한 사탕의 최대 개수 max를 최신화함 내 생각에 여기서 포인트는 인접한 다른 종류의 사탕끼리 바꿨으면 solution() 함수를 실행해서 max를 최신화한 후, 바꿨던 사탕을 다시 원래대로 바꿔주어야 하고, solution() 함수 안에서는 큰 for문 안에서 행검사와 열검사를 같이 해주면 시간복잡도를 조금이나마 줄..

    [백준]2578번 빙고 - Java

    [백준]2578번 빙고 - Java

    문제 https://www.acmicpc.net/problem/2578 2578번: 빙고 첫째 줄부터 다섯째 줄까지 빙고판에 쓰여진 수가 가장 위 가로줄부터 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 여섯째 줄부터 열째 줄까지 사회자가 부르는 수가 차례대로 www.acmicpc.net 풀이 for문 안에서 인덱싱에 주의하면서 각 행마다, 각 열마다, 대각선 2개까지 빙고를 체크해주면 됨 주의할 점은 사회자가 부르는 수로 인해서 한번에 빙고가 2개가 생기는 경우가 있을 수도 있기 때문에 마지막에 bingoCount == 3 이 아닌 bingoCount >= 3 으로 해줘야함! 코드 // 2578번 빙고 // https://www.acmicpc.net/problem/2578 package ..

    [백준]10431번 줄세우기 - Java

    [백준]10431번 줄세우기 - Java

    문제 https://www.acmicpc.net/problem/10431 10431번: 줄세우기 초등학교 선생님 강산이는 아이들을 데리고 단체로 어떤 일을 할 때 불편함이 없도록 새로 반에 배정받은 아이들에게 키 순서대로 번호를 부여한다. 번호를 부여할 땐 키가 가장 작은 아이가 1 www.acmicpc.net 풀이 문제 잘 읽고 구현하면 됨! 아마 ArrayList나 List 등을 이용하여 많이들 구현할 것 같은데 그렇게 할 경우 애들을 줄 세울 때 어디에 세워야하는지가 조금 헷갈릴 수도 있으니 주의할 것! 자세한건 주석에 있음 코드 // 10431번 줄세우기 // https://www.acmicpc.net/problem/10431 package BAEKJOON; import java.io.Buffer..

    [백준]1091번 카드 섞기 - Java

    [백준]1091번 카드 섞기 - Java

    문제 https://www.acmicpc.net/problem/1091 1091번: 카드 섞기 지민이는 카지노의 딜러이고, 지금 3명의 플레이어(0, 1, 2)가 있다. 이 게임은 N개의 카드를 이용한다. (0 ~ N-1번) 일단 지민이는 카드를 몇 번 섞은 다음에, 그것을 플레이어들에게 나누어 준다. 0 www.acmicpc.net 풀이 문제를 처음 읽었을 때는 뭔소린지 모르겠었는데 몇번 더 읽다보니까 이해를 했음 문제에서 주어진 순서대로 카드를 섞고 섞을 때마다 정답과 비교해서 정답과 같은 순서로 카드가 섞였다면 그때의 count를 출력하면 됨 내 생각에 포인트는 언제 -1을 출력해야 되냐 인 듯??? 계속해서 섞다가 한번도 섞지 않았을 때(초기 상태)와 같은 순서로 카드가 나왔을 경우를 생각해보면,..