-
[프로그래머스] 위장 - 해시알고리즘/문제풀기 2019. 4. 17. 23:38
문제를 이해하고 경우의 수를 모두 구해야하는 줄 알고 복잡한 문제라고 생각했다. 그런데 질문하기에서 훨씬 접근하기 쉬운 방법을 찾았고 코드를 짜기 시작했다. ※ 문제를 쉽게 해결 할 수 있었던 꿀팁!! 머리:3, 얼굴:2, 옷:1 이라면 총 가능한 개수는 (3+1) * (2+1) * (1+1) -1 = 23 으로 계산 할 수 있다. +1씩 더한 이유는 착용하지 않은 경우를 추가한 것이고, 마지막에 -1을 해준 이유는 모든 부위를 입지 않은 경우는 없기 때문이다. 위 공식을 사용해서 아래처럼 코드를 짰다. class Solution { public int solution(String[][] clothes) { int answer = 0; HashMap clothesmap = new HashMap();//옷..
-
[프로그래머스] 완주하지 못한 선수 - 해시알고리즘/문제풀기 2019. 4. 16. 01:00
중복된 이름이 있을 수가 있어서 Hash를 사용해서 으로 배열을 넣어주었다. 처음엔 participant 배열만 runner에 을 넣고, completion은 배열을 가져와서 이중 for문으로 비교하였다. => 실패 1. 첫 번째 채점 runner와 finish에 같은 이름이 존재하면 각 해시에서 삭제해 주었다. 그리고 남은 runner의 key를 이용해 값을 answer에 저장하였다. 그랬더니 정확성은 통과였지만, 효율성 문제에서 실패하였다. public static String solution(String[] participant, String[] completion) { String answer = ""; Arrays.sort(participant); Arrays.sort(completion); H..
-
<데이터 분석 준비> 데이터 탐색 - eda데이터분석 2019. 1. 25. 10:39
연습해 볼 것1. 데이터 탐색2. NA 데이터 처리3. 컬럼 삭제 또는 추가4. 범주형 데이터 처리 데이터 가져오기 pandas를 import해주고 data2.csv파일을 가져온다. data.csv파일 안에 있는 데이터들의 종류이고, 이름을 바꿔주는 코드이다. inplace가 true면 원래 데이터프레임에 저장을 해주는 것이고, default면 새로운 데이터프레임을 만들어서 저장해주는 것이다. 예를 들면, df a b c d 이렇게 되어 있는데,inplace가 없이 df. drop('d')를 실행한다면, 새로운 데이터 프레임을 만들어야한다.그래서 x = df.drop('d') 이런 식으로 새로운 데이터 프레임을 저장할 수 있는 변수를 넣어주어야한다.실행이 되면x a b c 이렇게 새로운 데이터 프레임이 ..