본문 바로가기

알고리즘/백준34

백준 2750번 수 정렬하기 이 문제는 자료구조 정렬 공부할 때 워낙 많이 접했던 문제라 쉽게 풀 수 있었다. 선택정렬을 사용해서 풀었다. 2018. 7. 2.
백준 2941번 크로아티아 알파벳 이클립스 자체 라이브러리 함수를 쓰지 않고 풀려다보니 너무 if문을 남발하는 것 같아서 이 문제는 그냥 썼다. replace를 사용해서 크로아티아 알파벳의 알파벳을 그냥 임의의 하나의 알파벳으로 바꿔주고 전체 문장의 길이를 출력한다. 2018. 7. 2.
백준 5622번 다이얼 이 문제는 단지 여러 가지 경우 수를 if문으로 받아서 처리했는데 뭔가 비효율적인 것 같아서 다른 사람의 코드도 첨부했다.- 내 코드 - 다른 사람 코드 이 사람은 알파벳에 해당하는 숫자 값을 먼저 다 배열에 넣은 후에, 입력한 문자열의 아스키값을 비교해 일치하면 일치하는 인덱스의 값을 모드 더하는 방식을 취했다. 2018. 6. 29.
백준 2908번 상수 배열에 입력받은 수를 넣어서 그냥 배열을 역순으로 출력한 값을 비교하면 되지만, 라이브러리 함수 사용을 최대한 자제하기 위해서 그 방법은 사용하지 않았더니, 그냥 수학적으로 푸는 방법뿐인 것 같다. 2018. 6. 29.
백준 1316번 그룹 단어 체커 문제를 풀어도 항상 막히고 고민을 해봐도 결국 남의 코드를 보게된다. 그래도 그 안에서 내가 원하는 방식으로 하기 위해 이것 저것 짜집기를 해서 나의 코드로 바꾸는 과정을 통해 실력이 향상 되길바란다. 버퍼스트림과 스트링토큰나이저를 사용해서 풀어보고 싶어서 사용해보았고, 다른 사람의 코드 중 boolean을 사용해서 체크를 하는게 좋아보였다. 단어의 길이가 몇개가 되든지 상관없이 어차피 알파벳은 26개 이므로 boolean[26]을 선언하고, 현재 문자와 이전 문자가 같지않을 때만 동작하는데, 현재 문자가 이전에 나왔다면 더이상 체크를 할 필요가없으니 break를 사용해 건너 띄고, 아닌 경우에는 아닌 위치를 true로 바꿔주어 계속 진행해 나간다. 2018. 6. 29.
백준 1157번 단어 공부 나는 이 문제를 풀 때, 대문자와 소문자의 아스키코드 차이 값이 32이기 때문에 소문자에서 32를 뺀 후 그 숫자들 가운데 빈도수를 계산해보려 했지만 실패했다. 그래서 다른 사람들의 코드를 봤더니 어차피 대문자로 출력을 해야하기 때문에 대문자로 바꿔놓고, 배열에 담을때 a 의 아스키값 만큼 빼주면 인덱스 0부터 A값이 차례대로 들어가게 된다. 그래서 이 값을 max값과 비교해서 가장 높은 빈도수의 경우를 구하고 아니면 ? 를 출력하면 된다. 2018. 6. 27.