본문 바로가기

분류 전체보기270

StringTokenizer 정리 - StringTokenizerString을 특정 구분자(delimeter)값을 통해 분리하는 함수이다.기본적으로는 split처럼 공백을 기준으로 문자열을 나눈다. - 사용방법StringTokenizer에 nextToken()함수를 쓰면 br.readLine()을 통해 입력받은 값을 공백 단위로 구분하여 nextToken()을 통해 순서대로 호출할 수 있다.기본적으론 공백이 구분자로 사용되지만, StringTokenizer 선언시 2번째 파라미터로 별도로 구분자를 추가할 수도 있다. - 메소드public int countTokens() : 분리한 문자열의 수를 의미.public boolean hasMoreTokens() : 현재 위치 다음 문자열이 존재하면 true를 리턴한다.public String n.. 2018. 6. 19.
백준 2448번 별찍기 - 11 자바 별찍기 문제 중 이런 문제는 처음본 것 같다. 이 문제처럼 반복되는 모양의 구조를 프랙탈 구조라고 한다. 반복되는 구조를 잘 파악하는 것이 핵심이다. 똑같은 모양을 가지고 구조를 만들기 때문에 첫 모양은 규칙을 찾으려 하지 말고 임의로 생성해준다. arr[0] = " * "; arr[1] = " * * "; arr[2] = "*****"; N = 6인경우 1, 2, 3 은 기본 모양을 나타내고, 4, 5, 6은 1, 2, 3줄을 이용해 2개의 기본 삼각형을 그린다. 구조를 잘 보면 두 모양 사이에는 공백이 존재하는 것을 볼 수 있다. 따라서, arr[3] = arr[0] + " " + arr[0]; arr[4] = arr[1] + " " + arr[1]; arr[5] = arr[2] + " " + arr.. 2018. 6. 19.
백준 1065번 한수 처음에 한수에 대해서 이해를 하지 못했다. 예를 들어 321가 있을 때, 각각의 자리 수의 차이수를 확인한다. 3-2, 2-1 각각 차이가 1로 등차수열을 이루기 때문에 한수이다. 여기서 한 자리수와 두 자리수는 어떤 수가 와도 한수가 되기 때문에 1~99는 전부 한수이다. 방식만 이해하면 금방 풀 수 있는 문제였다. 2018. 6. 15.
백준 4673번 셀프넘버 문제를 풀 때 너무 문제 있는 그대로 풀려하다보니 한자리 수는 앞에 0을 붙이는걸 진짜 0을 붙이고 너무 어렵게 생각해서 푸는 것 같다.문제에서 요구하는 해결방법을 찾아야하는데 생각하지 않고 일단 풀려고 하는 것이 잘못 된 것 같다.앞으로 조금씩 고쳐나가야겠다. 2018. 6. 15.
백준 4344번 평균은 넘겠지 java 이 문제가 뭐라고 푸는데 2시간 20여분이나 걸렸다.. 초기화를 빠트리고, 각각의 라인별로 크기만큼 배열을 어떻게 받을지, 마지막 형변환은 어떠한 방식으로 할지 이 3가지 문제에서 부딫혔다. 디버깅도 하다하다 귀찮아서 sysout을 엄청 사용해서 확인했다. 처음에 테스트케이스의 개수 C를 입력받고 C의 수 만큼 학생의 수들을 N이라고 하여 입력받아서 필요한 만큼 배열을 생성하고 배열에 각각의 학생들의 수를 저장했다. 또한, 마지막에 형 변환에서 자꾸 java.util.IllegalFormatConversionException 에러가 떳는데 자꾸 float의 형태가 integer와 맞지않는다고 떳는데 알고보니 float이라 그 안에 사용되는 변수들을 double로 썼어야했는데 int로 선언해 놓는 바보짓을.. 2018. 6. 9.
[자바] 소수점 특정 자리수 까지 표시 자바에서 소수점 특정 자리수를 표시할 때 C언어 처럼 printf(%.2lf)의 형태로 사용할 수 있다. 하지만, 자바에서는 워낙 제공해주는 함수가 많기 때문에 찾아봤더니 역시나 있었다. 바로 "DecimalFormat"을 사용하는 것이다. DeimalFormat("여기에 원하는 소수점 자리를 표현해주면 된다") 예제에서는 #으로 표기했지만 숫자로 0.000과 같이 표현해줘도 무방하다. 2018. 5. 29.