본문 바로가기

알고리즘/백준34

백준 1152번 단어의 개수 문제를 보고 StringTokenizer가 떠올라서 이걸로 작성해 보았다. 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.
백준 15552번 빠른 A+B 이 문제를 풀기위해 BufferedWriter와 BufferedReader에 대한 개념이 필요해서 나만의 정리에 따로 정리를 했다.버퍼를 사용하면 System.out.println과 Scanner.in 을 사용하는 것 보다 속도가 빠르다는 것이 핵심이다. T값에 1을 넣고 A,B에 각각 1,2를 넣었더니 arr[0]에 3이 담긴 모습을 확인 할 수 있다. 2018. 5. 28.