세무민의 알고가자 3

세무민의 알고가자 : 프로그래머스의 소수 만들기 문제 풀이

이번에 풀어 볼 문제는 소수 만들기! 이번 문제는 Summer/Winter Coding 2018년도 문제 중 1개라고 합니다. 무튼 풀어보죠 문제 설명 및 입출력 예시 풀이 이번 문제는 사실 itertools를 사용한다면 10분정도에 풀 수 있었던 문제라고 생각됩니다. 처음에는 당황했던 부분은 3개를 조합한 뒤 그 값이 소수인지 판별하는 것! 그렇지만 itertools에 있는 combinations을 이용한다면 쉽게 풀 수 있었습니다. combinations? 우선 combinations를 설명하면 조합이라고 생각하면 됩니다. 즉 배열에 존재하는 값을 선택하여 조합해주는 것을 말하죠 즉 arr[1,2,3] -> list(combinations(arr, 2))라고 가정하면 result = [1,2], [1..

세무민의 알고가자 : [프로그래머스] 전화번호 목록 문제 풀기

이번에 풀어볼 문제는 전화번호 목록 문제! 생각보다 쉬웠지만 삽질을 조금 많이함 ㅎ 문제 설명 제한 사항 및 입출력 예시 풀이 사실 이번 문제는 쉽게 접근할 수 있는 문제 중 하나이다. 위의 예시처럼 i번째 문자열이 i+1번째 문자열에 포함이 된다면 False를 반환하면 되구 포함되는 접두사가 하나도 없다면? True를 반환하면 된다. 곰곰히 생각하다가 문제를 풀 방법은 딱 2가지가 생각났다. 첫번째 : 2중 For문을 돌리면서 하나씩 확인해보기 2중 포문으로 사용하는건 정확한 방법이지만 N^2 시간복잡도가 소요되기 때문에 효율성에서 많이 떨어진다. 두번째 : 정렬을 한번 해준 후 하나씩 증가하면서 확인하기 정렬을 이용하는 방법을 생각한 걸 예시로 보여드리면 위에 처럼 문자열 정렬을 하게 되면 포함된 값..

세무민의 알고가자 : [HackerRank] 2D Array - DS 문제 풀기

기존에 세무민의 코딩일기에 알고리즘을 작성했는데 오늘 블로그 스킨부터 조금 변경하다보니 따로 분리시켰고 그래서 명칭을 조금 변경해봤다. 세무민의 코딩일기(알고리즘) -> 세무민의 알고가자 이유는 추후에 쉽게 관리하고 싶은 마음에 ㅎㅎ 알고가자 -> 알고리즘 가자!라는 간단한 의미로 시작했다 ㅎ 무튼 오늘 풀어볼 문제는 2D Array! 문제 문제 예시 입력 조건 및 출력 조건 Sample 입출력 문제 요약 및 설명 우선 영어 문제라는 점에서 해석이 중요하다. hourglass : 모래시계 위의 단어가 포인트인데 결론적으로 2D 배열을 모래시개값을 합했을 때 가장 큰 결과를 가진 모래시계 값을 출력하면 됩니다. 그림으로 표현해봤는데 모래시계 모양으로 i칸씩 증가하면 옆으로 옮기면서 계산할 수 있도록 구현해..