
문제 원본 링크: programmers.co.kr/learn/courses/30/lessons/42584 카테고리: 스택/큐 문제 설명 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하라. 제한 사항 prices의 각 가격은 1 이상 10,000 이하의 자연수 prices의 길이는 2 이상 100,000 이하 입출력 예시 int[] prices = {1, 2, 3, 2, 3}; // return = [4,3,1,1,0] 입출력 예시 설명 1초 시점의 ₩1은 끝까지 가격이 떨어지지 않음 2초 시점의 ₩2은 끝까지 가격이 떨어지지 않음 3초 시점의 ₩3은 1초뒤에 가격이 떨어짐. 따라서 1초..

문제 원본 링크: programmers.co.kr/learn/courses/30/lessons/42579?language=java 카테고리: 해시 문제 설명 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트앨범을 출시하려고 한다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같다. 속한 노래가 많이 재생된 장르를 먼저 수록 장르 내에서 많이 재생된 노래를 먼저 수록 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록 노래의 장르를 나타내는 문자열 genres와 노래별 재생 횟수를 나타내는 정수 배열 plays가 주어질 때, 베스트 앨범에 들어갈 노래의 고유 번호를 순서대로 return 하도록 solution 함수를 완성하라. 제한 사..

대부분의 경우 개발자들은 유지보수하는 것을 즐기지 않는다. 특히 남이 작성한 코드를 유지보수하는 일이 더욱 그렇다. 대신 새로운 코드를 작성하는 것을 더욱 선호한다. 나도 마찬가지다. 그러나 개발자가 된 이상 코드 유지보수 작업은 피할 수 없는 일이다. 그리고 나는 사실, 개발자라면 그 일을 잘해야 한다고 생각한다. 만약 다른 사람이 작성한 코드가 논리적이고 간결하며 우수하다면, 그리고 애매한 부분에는 주석으로 친절한 설명까지 남겨놓았다면 그런 코드를 읽는 일은 즐겁다. 그리고 배울 것이 많다. 그런 경우는 운이 좋은 것이다. 해당 코드를 작성한 사람이 이미 퇴사를 해서 없더라도 그 코드를 통해 배울 수 있는 점이 많을 것이다. 그러나 반대의 경우라면 이야기가 다르다. 이해가지 않는 코드들이 많고 중복도..

문제 원본: 프로그래머스 링크 (코딩테스트) 카테고리: 해시 문제 설명 2차원 배열로 clothes가 있다. 배열의 각 요소는 ["의상의 종류", "의상의 이름"]의 형태로 이루어져 있다. 주어진 요소를 조합해서 나올 수 있는 모든 경우의 수를 구해야 한다. 아래는 예시이다. String[][] clothes = {{"yellow_hat", "headgear"}, {"blue_sunglasses", "eyewear"}, {"green_turban", "headgear"}}; 위의 예시의 결과값은 5이다. 아래는 선택 가능한 모든 경우다. 1. yellow_hat 2. blue_sunglasses 3. green_turban 4. yellow_hat + blue_sunglasses 5. green_turb..

참고도서: 자료구조와 함께 배우는 알고리즘 입문 (자바편), Bohyoh Shibata 지음 Boyer-Moore알고리즘은 패턴의 마지막 문자부터 역순으로 검사를 진행하면서 일치하지 않는 문자가 나타나면 미리 준비된 표(skip table)에 따라 건너뛸 위치를 정한다. 아래는 알고리즘의 검색과정을 단순화해서 표현한 엑셀 표이다. 찾고있는 패턴 ABAC는 원본의 마지막에 위치해있다. ABCXDEZCACACABAC 라는 원본 문자열에서 ABAC 패턴을 검색해 찾는 과정이다. 검색에 성공하기 까지 총 5회의 이동을 수행했다. 이 알고리즘의 핵심은 건너뛸(skip) 거리를 어떻게 정의하는가이다. 원본의 문자열 길이가 총 16인데, 요소를 하나씩 비교하지 않고 어떤 경우에는 4칸씩 건너 뛴 것을 볼 수 있다. ..

오늘 우연히 어느 블로그에서 링크를 통해 임백준의 칼럼을 읽게 되었다. 안그래도 최근에 그의 책을 읽은 터라 반가웠는데, 칼럼의 제목이 강렬했다. "실력은 고통의 총합이다." 개발자로 먹고 살려면 평생 공부해야한다는 말을 자주 듣는다. 동의한다. 그러나 저자의 말처럼 어디 공부하지 않고 먹고 살 수 있는 직업이 있을까. 다만 개발자는 평생 공부해야 한다는 말이 나오는 이유는 IT분야에서 유독 신기술이 하루가 다르게 쏟아져 나오기 때문일 것이다. 그런데 여기, 칼럼에서는 그런 트렌드를 쫓는 것보다 더욱 중요한 것이 있다고 말한다. 저자의 생각이 개인적으로 상당히 예리하고 새겨들을 가치가 있다고 느꼈다. 실력은 지식의 총합이 아닌 고통의 총합이라는 주장이 특히 와 닿았다. 공부를 하다 보면 자신도 모르는 사..
- Total
- Today
- Yesterday
- 프로그래머의길
- 괄호 종류
- software craftmanship
- 개발자
- 서평
- 이직
- 개발자취업
- 건조기설치
- 정규표현식
- 알고리즘풀이
- 프로그래머의 길
- 멘토에게 묻다
- 디버깅
- 건조기
- 안드로이드
- 소프트웨어 장인
- 알고리즘 풀이
- 소프트웨어장인
- 비전공개발자
- 이사
- 정규식
- 프로그래머스
- Regex
- 세탁기설치
- 세탁기
- 프로그래머의길멘토에게묻다
- 알고리즘
- 문과생개발자
- 멘토에게묻다
- 스타트업
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |