코딩테스트/백준

    [백준]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을 출력해야 되냐 인 듯??? 계속해서 섞다가 한번도 섞지 않았을 때(초기 상태)와 같은 순서로 카드가 나왔을 경우를 생각해보면,..

    [백준]1018번 체스판 다시 칠하기 - Java

    [백준]1018번 체스판 다시 칠하기 - Java

    문제 https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 풀이 왼쪽 위가 흰색으로 시작하는 체스판, 검은색으로 시작하는 체스판. static char[][] answer1 = new char[][]{ {'B', 'W', 'B', 'W', 'B', 'W', 'B', 'W'}, {'W', 'B', 'W', 'B', 'W', 'B', 'W', 'B'}, {'B', 'W', 'B', 'W', 'B', 'W', 'B', 'W'}, {'W', 'B',..

    [백준]2980번 도로와 신호등 - Java

    [백준]2980번 도로와 신호등 - Java

    문제 https://www.acmicpc.net/problem/2980 2980번: 도로와 신호등 상근이는 트럭을 가지고 긴 일직선 도로를 운전하고 있다. 도로에는 신호등이 설치되어 있다. 상근이는 각 신호등에 대해서 빨간 불이 지속되는 시간과 초록 불이 지속되는 시간을 미리 구해왔 www.acmicpc.net 풀이 왜 그랬는지 모르겠는데 % 연산을 / 연산으로 놔두고 왜 안되는지 다 찍어보느라 개ㅐㅐㅐㅐ오랫동안 찾은 것 같다,,, 너무 어이가 없었다 암튼 신호등들의 정보를 배열에 저장해 두었다가 while(true){ } 안에서 time과 current를 증가해주면서 이동시켜 주었다 그러다 상근이가 신호등이 있는 위치에 도달하면 check() 함수에 현재 time과 신호등의 정보를 변수로 넘겨주어 신호..

    [백준]2635번 수 이어가기 - Java

    [백준]2635번 수 이어가기 - Java

    문제 https://www.acmicpc.net/problem/2635 2635번: 수 이어가기 첫 번째 수가 주어진다. 이 수는 30,000 보다 같거나 작은 양의 정수이다. www.acmicpc.net 풀이 문제를 그대로 따라가면서 풀었음 주어지는 수까지 반복문을 돌면서 그 안에서 while(true){ }문 안에서 로직을 수행함 주어지는 수를 연산하면서 나오는 값으로 연산하기 위한 수를 최신화 해줌(0보다 작아질 때까지 반복하기 때문에 wihle(true){ }문 사용) count 를 이용해서 숫자의 개수를 세고 max를 이용해서 최대인 count를 저장함 count가 max가 될 때의 인덱스 i를 answer에 저장한 후, for문을 다 돌고 i일 때로 로직을 수행하는 결과를 StringBuild..

    [백준]10163번 색종이 - Java

    [백준]10163번 색종이 - Java

    문제 https://www.acmicpc.net/problem/10163 10163번: 색종이 평면에 색깔이 서로 다른 직사각형 모양의 색종이 N장이 하나씩 차례로 놓여진다. 이때 색종이가 비스듬하게 놓이는 경우는 없다. 즉, 모든 색종이의 변은 서로 평행하거나, 서로 수직이거나 둘 www.acmicpc.net 풀이 백준에는 뭐 색종이 유니버스가 있나보다 종이 자르기도 있고 무슨 뭐였지 직사각형 면적 더하기 그런 것도 있고,,, 암튼 색종이 첫번째 문제 풀고나서 이런 문제들 푸니까 어떻게 풀어야할지 딱 보인다고 해야하나 암튼 쉬워졌다. https://seokmimmmmmmmm.tistory.com/25 [백준]2563번 색종이 - Java 문제 https://www.acmicpc.net/problem/2..