백준 6

백준 - 8958 번

https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 설명 : 첫 줄에는 테스트 케이스가 주어지고, 각 테스트 케이스는 한 줄로 이루어져 있으며, 문자열을 O와 X으로만 이루어져있다. 이 문자열속 O는 각 1점인데, 연속으로 맞을 경우 1점씩 더 추가된다. ex) oooooxxx = 15점// oxoxoxoxo = 5점 문제에서 주어진대로 접근하면 될 것 같아 크게 문제가 없다고 생각했다. 그러나 내 생각과 실제 코드 작성과는 거..

백준 - 3052번

https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 문제 설명 : 자연수 10개가 주어지면, 각 자연수를 42로 나눈 나머지를 구한 뒤, 나머지 값들 중 서로 다른 값이 몇 개 있는지 출력하는 문제 내 생각 : 입력된 값에 42로 나눈 나머지를 구한 뒤, 배열에 저장해서 요소를 확인하는 방법으로 문제를 접근했다. 문제를 접근하는 과정에서 어떻게 배열의 요소의 중복을 count 할 것인지에 대해 생각했고, 이 부분에서 좀 시간을 잡아먹었다. 내가 작성한 코드는 다음과 같다. BufferedReader br = new B..

백준 - 2577번

https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 설명 : 세 자연수 A, B, C의 곱을 계산한 후 결과값에 0~9가 몇 번씩 쓰였는지를 구하는 문제 내 생각 : 우선 ABC를 입력받아야 하고, 입력받은 ABC를 곱한 값을 저장해야한다고 생각했다. 그래서 생각한 것이 "결과 값을 다시 문자열로 변환하고, 이 문자열을 한 문자씩 쪼개서 배열에다가 저장해야겠다"라고 생각했다. 코드를 작성하면서 왜이렇게 복잡해지고 불필요한 느낌이 들지? 라는 쎄한 생각이 들었다... 그렇게 한 문자씩 배열에 저장함과 동..

백준 -2562번

https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 설명 : 입력받은 9개의 서로 다른 자연수 중 최댓값을 찾고, 그 값이 몇번째 수인지를 찾아라 (입력되는 자연수는 100보다 작다) 내 생각 : 입력수가 고정이고, 최대값을 찾고, 그 값이 몇번째 있는지 찾기 위해선 배열이 필요하다 생각했다. 이 전의 문제와 동일하게 max 값을 주고 문제를 해결했는데 꼭 저 값이 아니더라도 음수의 값을 줘도 된다. 그 이유는 서로..

백준 - 10818번

https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 설명 : N개의 정수를 입력받고, 입력받은 정수의 최대, 최소 값을 구해라 문제를 확인해보면 우선 첫 줄에는 정수 N개를 입력받아야 하고, 그 다음 자신이 입력하고자 하는 정수를 아래와 같이 입력해야 한다. 내 생각 : 항상 Scanner를 사용해서 문제를 풀다 BufferedReader를 알게 되고 후자의 방식을 사용하게 되었다. 문제를 확인하고 입력과 ..

백준 2588번 - 곱셈 (Scanner와 BufferedReader)

https://www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net 문제 (세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다. (1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다. 출력 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. 내 생각 : 최근 단계별 백준 문제를 풀기 시작하면서 궁금한 부분들..