본문 바로가기

전체 글41

[백준/JAVA] 1065번. 한수 문제 1065번: 한수어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나www.acmicpc.net  풀이 등차 수열이란 연속한 두 항의 차가 일정한 값인 수열을 의미하고, 문제에서 한수란 어떤 양의 정수의 각 자리가 등차수열을 이루는 것을 의미한다. 먼저, 1~1000까지의 수만 입력받으므로 한자릿수인 경우, 두 자릿수인 경우 등 각 자릿수의 개수 별로 나눠서 확인해 볼 것이다. 1) 한자릿수 (1~9) : 연속한 항이 더 이상 없으므로 그 자체로 한수라고 할 수 있다. 2) 두 자릿수 (10~99) : 각 자릿수의 차가 공차이고 공차가 하나뿐이므로 이 자체로.. 2021. 8. 4.
[백준/JAVA] 4673번. 셀프 넘버 이 문제는 사실 시간도 오래 걸리고 어렵게 느껴졌던 문제다,,단계별로 풀어보기를 순서대로 푸는 중이었는데 갑자기 난이도가 상승한 느낌,,•͈_•͈ 풀이 1은 내가 구현한 방법이고, 풀이 2는 많은 분들이 boolean 배열을 이용해서 구현한 것을 보고 참고하여 풀어본 것이다.  알고리즘 우선, 문제를 풀기 전에 셀프 넘버 함수 d(n)을 구현하는 방법에 대해서 알아두면 좋을 것 같다.예를 들어, numSum(123) = 123+1+2+3 = 129 가 저장되게끔 하려면 다음과 같이 구현할 수 있다. 1. n이라는 수를 받으면 이를 나중에 리턴 시킬 변수 self에 저장한다. static int d(int n) { int self = n; } 2. 각 자릿수의 합을 구하기 위해 n을 10으로 나눈 나머지.. 2021. 8. 1.
[백준/JAVA] 1546번. 평균 아직 BufferedReader를 사용하는 게 익숙하지 않아서 Scanner, BufferedReader를 이용해서 각각 풀어 보았다. 값 하나만 입력 받을 땐 상관없지만, 한 줄에 공백을 경계로 여러 값을 입력받기 위해서는 StringTokenizer를 사용해야 한다. BufferedReader를 이용해서 풀 때, 이 부분이 익숙하지 않아서 컴파일 에러가 많이 났던 것 같다. 문제 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 풀이 1 import java.util.Scanner; public cla.. 2021. 7. 31.
[백준/JAVA] 2577번. 숫자의 개수 charAt() charAt()는 특정 위치의 문자를 반환해준다.예를 들어 String str = "Mango";라고 선언했을 때 특정 위치의 문자를 반환하는 방법은 다음과 같다.public class charAt { public static void main(String[] args) { String str = "Mango"; System.out.println(str.charAt(0)); //M 출력 System.out.println(str.charAt(1)); //a 출력 System.out.println(str.charAt(2)); //n 출력 System.out.println(str.charAt(3)); //g 출력 System.out.println(str.charAt(4)); //o .. 2021. 7. 28.
[백준/JAVA] 15552번. 빠른 A + B 첫 블로그 포스팅은 BufferedReader와 BufferedWriter에 관한 것이다. JAVA에서 입력은 Scanner밖에 몰랐던 터라 어렵게 느껴졌고, 블로그를 통해 정리해 보기로 했다. Scanner 및 BufferedReader, BufferedWriter 1) Scanner - java.util 패키지 클래스 - 공백, 개행을 경계로 인식하여 입력받는다. 2) BufferedReader - java.io 패키지 클래스 - 개행만 경계로 인식하여 입력받는다. (공백은 경계로 인식하지 않는다!!) - String 형태 3) BufferedWriter - 출력할 데이터를 버퍼링 하여 한번에 출력하므로 많은 양의 데이터를 효율적으로 출력할 수 있으며 시간이 단축된다. - 개행하려면 "\n"을 추가해.. 2021. 7. 24.