[Java Algorithm] 프로그래머스 Lv.3 _ 베스트앨범
·
Study/Algorithm Study
[문제]스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다.1. 속한 노래가 많이 재생된 장르를 먼저 수록합니다.2. 장르 내에서 많이 재생된 노래를 먼저 수록합니다.3. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다.노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 plays가 주어질 때, 베스트 앨범에 들어갈 노래의 고유 번호를 순서대로 return 하도록 solution 함수를 완성하세요.제한사항- genres[i]는 고유번호가 i인 노래의 장르입니다.- plays[i]는 고유번호가 i인 노래가 재생된 ..
[Java Algorithm] 프로그래머스 Lv.2 _ 의상
·
Study/Algorithm Study
[문제]코니는 매일 다른 옷을 조합하여 입는것을 좋아합니다.예를 들어 코니가 가진 옷이 아래와 같고, 오늘 코니가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야합니다.종류 이름얼굴 동그란 안경, 검정 선글라스상의 파란색 티셔츠하의 청바지겉옷 긴 코트- 코니는 각 종류별로 최대 1가지 의상만 착용할 수 있습니다. 예를 들어 위 예시의 경우 동그란 안경과 검정 선글라스를 동시에 착용할 수는 없습니다.- 착용한 의상의 일부가 겹치더라도, 다른 의상이 겹치지 않거나, 혹은 의상을 추가로 더 착용한 경우에는 서로 다른 방법으로 옷을 착용한 것으로 계산합니다.- 코니는 하루에 최소 한 개의 의상은 입습니다.코니가..
[Java Algorithm] 프로그래머스 Lv.2 _ 전화번호 목록
·
Study/Algorithm Study
[문제]전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다.전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다.구조대 : 119박준영 : 97 674 223지영석 : 11 9552 4421전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요.[제한 사항]- phone_book의 길이는 1 이상 1,000,000 이하입니다.- 각 전화번호의 길이는 1 이상 20 이하입니다.- 같은 전화번호가 중복해서 들어있지 않습니다. [Algorithm]1..
[네컷로그] 3. 사이드 프로젝트 개발 환경 세팅(2) : Spring Boot 프로젝트 세팅
·
Side Project
이번에는 Backend 개발 환경 세팅에 대해 정리해보겠다! [네컷로그] 2. 사이드 프로젝트 개발 환경 세팅(1) : 기술 스택 선정이번 프로젝트에서 내가 가장 해보고싶었던(?) 부분이 개발 환경 세팅이다.실무에서는 선임분들이 개발 환경 세팅을 완료한 후 기능 개발만 할 수 있도록 환경을 구축해줘서 사실 그 프로젝트가caveloperstudylog.tistory.com 기술 스택 선정 글에서 말했듯이 Java + Spring Boot로 백엔드 개발을 진행하기로 했고 단계별로 차근차근 개발 환경 세팅을 해보았다. Spring Boot 프로젝트 생성Spring Initializr 사용해서 기본 프로젝트 생성[기본 환경 설정 ]Project: Gradle - Groovy Language: Java Sp..
[네컷로그] 2. 사이드 프로젝트 개발 환경 세팅(1) : 기술 스택 선정
·
Side Project
이번 프로젝트에서 내가 가장 해보고싶었던(?) 부분이 개발 환경 세팅이다.실무에서는 선임분들이 개발 환경 세팅을 완료한 후 기능 개발만 할 수 있도록 환경을 구축해줘서 사실 그 프로젝트가 어떤 환경으로 구축되어있는지 잘 몰랐다. 그리고 사실 회사에서는 전에 진행했던 다른 프로젝트의 구조를 그대로 가져오는 경우가 많아서,, 새로 환경을 세팅하는 경우는 드물었다. 물론 이 부분에 대해서는 프로젝트를 파보면서 혼자 공부를 해봤어야 했지만,, 미리 세팅되어 있는 것을 보면서 공부하는 것은 머리에 잘 남지 않아서 이건 진짜 직접 만들어보면서 공부 해야겠다라는 생각이 들었다!! 이 글에서는 개발 환경을 구성하면서 기술 스택을 선정하게된 이유에 대해 먼저 적어보겠다.많이 쓰니까 그냥 쓴다는 것보다는 왜 이 스택을 ..
[네컷로그] 1. 사이드 프로젝트 기획 및 설계(ERD, API명세서, 기능명세서)
·
Side Project
개발 사이드 프로젝트를 진행하다보면 기획 및 설계 단계를 그냥 스루하는 경우가 많은데 이번에 진행하는 프로젝트에는 기획자가 있기도 하고, 처음부터 끝까지 모든 것을 다 경험해보겠다는 목표가 있었기 때문에 기획과 설계 단계부터 전부 차근차근 진행해보았다. 미흡한 점이 많지만 그런 부분들은 프로젝트를 진행하면서 차차 보완하기로 하고 ERD와 API 명세서, 기능명세서를 작성했다. 네컷로그(4cut-log) 프로젝트네컷 사진을 아카이빙할 수 있는 모바일 애플리케이션인생네컷, 포토이즘, 포토그레이, 모노맨션 등 다양한 브랜드의 인화사진 부스에서 찍은 사진들을 한 곳에 아카이빙하여 관리할 수 있도록 도와주는 서비스이다.사실 세컷, 네컷, 여섯컷 등 다양한 형태가 있지만, 대부분의 사람들이 "네컷 찍으러 가자!..
[네컷로그] 0. 사이드 프로젝트 개발 시작
·
Side Project
미루고 미루던 사이드 프로젝트를 올해 초 드디어 각 잡고 시작했다.사이드 프로젝트를 해야겠다고 생각한 이유는 개발 초기 환경 세팅부터 기능 개발 후 출시까지 모든 과정을 직접해보고 싶었기 때문! 주니어 개발자로 실무를 하다 보면 프로젝트의 본질(개발 환경이나 프로젝트 구조, CI/CD 등 기본적인 것들..)에 대해서는 모른 채 당장 필요한 기능을 만드는데에 급급하게 되는 것이 항상 아쉽고 꼭 다시 공부해야겠다고 생각했는데 이런 부족함을 사이드 프로젝트로 공부할 수 있을 것 같아서 올해는 무조건 해야겠다고 생각했다.특히 이런 경험은 주니어 시기에 꼭 해봐야 시니어 개발자로 성장할 수 있기 때문에 ,, 공부가 필수였다! 사실 입사 후 2년 동안 회사 일을 핑계로 자기 계발은 소홀하게 했던 것도 사실이다.. ..
[Java Algorithm] 프로그래머스 Lv.0 _ 주사위 게임 3
·
Study/Algorithm Study
[문제]1부터 6까지 숫자가 적힌 주사위가 네 개 있습니다. 네 주사위를 굴렸을 때 나온 숫자에 따라 다음과 같은 점수를 얻습니다.네 주사위에서 나온 숫자가 모두 p로 같다면 1111 × p점을 얻습니다.세 주사위에서 나온 숫자가 p로 같고 나머지 다른 주사위에서 나온 숫자가 q(p ≠ q)라면 (10 × p + q)2 점을 얻습니다.주사위가 두 개씩 같은 값이 나오고, 나온 숫자를 각각 p, q(p ≠ q)라고 한다면 (p + q) × |p - q|점을 얻습니다.어느 두 주사위에서 나온 숫자가 p로 같고 나머지 두 주사위에서 나온 숫자가 각각 p와 다른 q, r(q ≠ r)이라면 q × r점을 얻습니다.네 주사위에 적힌 숫자가 모두 다르다면 나온 숫자 중 가장 작은 숫자 만큼의 점수를 얻습니다.네 주사..