본문 바로가기

알고리즘80

백준 2751번 수 정렬하기2 (퀵 정렬) 2750번 문제와 똑같은 줄 알고 제출했더니 틀렸다. 알고보니 수의 개수가 2750번 보다 훨씬 많아 시간초과가 문제였다. 정렬중에 가장 빠른 퀵 정렬을 사용해서 풀어보려했는데, 퀵 정렬이 잘 기억나지 않아 다시 찾아보면서 하느라 오래걸렸다. 라이브러리 함수를 쓰면 훨씬 간단하게 할 수 있는데 나중에 혹시 참고가 될까해서 같이 올린다. 2018. 7. 2.
백준 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.