정렬 3

[백준] 1764번: 듣보잡 (JAVA)

문제: https://www.acmicpc.net/problem/1764문제 접근처음 문제를 봤을 때는 List를 활용해서 하면 되겠구나! 라고 생각하고 다음과 같이 생각했습니다.사람의 이름을 담을 리스트(names)와 듣보잡을 담을 리스트(nm) 생성input값이 names에 없으면 names에 추가input값이 names에 이미 존재한다면 듣보잡으로 판단하여 nm에 추가nm 정렬한 후 출력근데 시간초과가 뜨더라구요..! ㅠ.ㅠ 그래서 사람의 이름을 담는 것을 리스트가 아닌, HashMap으로 구현하였습니다!HashMap은 조회할 때 일반적으로 O(1)의 시간복잡도를 갖기 때문에, 리스트보다 훨씬 빠릅니다.그래서 Key는 사람 이름으로 두고 Value는 입력된 됐는지 안됐는지만.. 확인하는 용도..로...

[백준] 1427번: 소트인사이드 (JAVA)

문제: https://www.acmicpc.net/problem/1427문제 접근문제를 보자마자(?) 리스트에 넣고 Collections.sort() 사용해야 겠다고 생각했습니다리스트 생성 (Character형이든, Integer형이든 상관없음)input값을 charAt()으로 하나씩 리스트에 넣음Collections.sort() 로 정렬전체 코드1) 리스트를 Integer로 생성한 경우import java.io.*;import java.util.*;public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamR..

[백준] 1181번: 단어 정렬 (JAVA)

문제: https://www.acmicpc.net/problem/1181문제 접근문제에 나온대로 다음과 같이 생각했습니다:문자열을 담을 리스트를 생성한다. (만약 이미 list에 있는 단어면 넣지 않는다)문자열이 짧은 것부터 오름차순으로 정렬 (길이가 같으면 사전순으로 정렬)사실 처음에는 Map에 문자열과 문자열길이를 넣을까 했는데, 리스트로 선택했습니다. (이유는 정렬할 때 리스트가 더 쉬운 거 같아서 입니다.)리스트 생성하고 오름차순으로 정렬하는 것까지는 쉬웠는데... 문자열 비교하는 함수 equals 말고는 도저히 생각이 안 나더라구요 ㅎㅎ;; 그래서 바로 구글에 문자열 사전순 비교하는 법 찾아봐서 코드를 완성했습니다 ㅋㅋ..이번에 오답노트 느낌으로 정리하고 나중에 이 문제가 생각 안 날 때 한 번..