본문 바로가기

분류 전체보기270

백준 2908번 상수 배열에 입력받은 수를 넣어서 그냥 배열을 역순으로 출력한 값을 비교하면 되지만, 라이브러리 함수 사용을 최대한 자제하기 위해서 그 방법은 사용하지 않았더니, 그냥 수학적으로 푸는 방법뿐인 것 같다. 2018. 6. 29.
백준 1316번 그룹 단어 체커 문제를 풀어도 항상 막히고 고민을 해봐도 결국 남의 코드를 보게된다. 그래도 그 안에서 내가 원하는 방식으로 하기 위해 이것 저것 짜집기를 해서 나의 코드로 바꾸는 과정을 통해 실력이 향상 되길바란다. 버퍼스트림과 스트링토큰나이저를 사용해서 풀어보고 싶어서 사용해보았고, 다른 사람의 코드 중 boolean을 사용해서 체크를 하는게 좋아보였다. 단어의 길이가 몇개가 되든지 상관없이 어차피 알파벳은 26개 이므로 boolean[26]을 선언하고, 현재 문자와 이전 문자가 같지않을 때만 동작하는데, 현재 문자가 이전에 나왔다면 더이상 체크를 할 필요가없으니 break를 사용해 건너 띄고, 아닌 경우에는 아닌 위치를 true로 바꿔주어 계속 진행해 나간다. 2018. 6. 29.
백준 1157번 단어 공부 나는 이 문제를 풀 때, 대문자와 소문자의 아스키코드 차이 값이 32이기 때문에 소문자에서 32를 뺀 후 그 숫자들 가운데 빈도수를 계산해보려 했지만 실패했다. 그래서 다른 사람들의 코드를 봤더니 어차피 대문자로 출력을 해야하기 때문에 대문자로 바꿔놓고, 배열에 담을때 a 의 아스키값 만큼 빼주면 인덱스 0부터 A값이 차례대로 들어가게 된다. 그래서 이 값을 max값과 비교해서 가장 높은 빈도수의 경우를 구하고 아니면 ? 를 출력하면 된다. 2018. 6. 27.
백준 2675번 문자열 반복 2018. 6. 27.
백준 10809번 알파벳 찾기 for문 까지 작성은했지만 그 안에 if문 조건을 생각해내지 못했다. 배열안의 값과 97~122값이 같을때 배열안의 값 - 97을 해서 숫자는 출력을 했는데 나머지 칸을 -1을 채우는 문제와 복합적으로 여러가지가 헷갈렸다. 나와 비슷한 생각을 한 사람의 코드를 보니 우선 처음부터 -1로 다 채워놓고, arr[j-97]이 -1인 경우 아직 단어에 포함되어있는지 카운트가 되기전이기 때문에 카운트 안된곳에 카운트를 해서 수를 넣어야 하므로, arr[j-97] 위치에 i값을 넣는다. 2018. 6. 25.
백준 11654번 아스키 코드 문자하나를 입력받는 방법이 떠오르지 않았다. char c = sc.next().charAt(0); 대문자, 소문자는 Character.isUpperCase(); , isLowerCase()를 사용한다. 2018. 6. 25.