본문 바로가기

All

(80)
[99클럽] 코딩테스트 스터디, 7일차 TIL - 비기너 1. 문제풀이1) 문제, 근무 지옥에 빠진 푸앙이 (백준, 25593)군대에 간 푸앙이는 4 교대 근무를 서게 된다. 근무 시간대는 08:00~12:00, 12:00~18:00, 18:00~22:00, 22:00~08:00 으로 각각 4, 6, 4, 10시간의 근무로 구성되어 있다.푸앙이와 동기들은 근무 시간이 최대한 공평하게 배분되기를 원한다. 그래서 근무표 전체에서 각 인원의 근무 시간이 12시간 이하로 차이 나게 해서 최대 50주 치 근무표를 짜려고 한다.푸앙이는 원래 똑똑해서 이 정도는 한눈에 계산이 가능했지만 어째서인지 푸앙이는 계산이 불가능해졌다. 푸앙이를 위해서 대신 근무표가 공평한지 계산해 주자. 입력- 첫 번째 줄에 주의 개수인 N이 입력된다. (1≤N≤50)- 둘째 줄부터 근무표가 주어..
[99클럽] 코딩테스트 스터디, 6일차 TIL - 비기너 1. 문제풀이1) 문제, 전주 듣고 노래 맞히기 (백준, 31562)윤수와 정환은 「전주 듣고 노래 맞히기」라는 게임을 할 예정이다. 「전주 듣고 노래 맞히기」는 주어진 노래의 전주를 듣고 먼저 제목을 맞히는 사람이 점수를 얻어 최종적으로 점수가 더 많은 사람이 이기는 게임이다. 절대 음감을 가진 윤수는 노래의 첫 네 음만 듣고도 어떤 노래든 바로 맞힐 수 있다. 따라서, 정환은 윤수를 이기기 위해 첫 세 음만으로 노래를 맞히게 해주는 프로그램을 만들려고 한다. 우선 정환이 알고 있는 노래 제목, 음이름 등을 데이터로 만든 뒤 프로그램을 구현하기 시작했다. 예를 들어, 다음은 TwinkleStar(반짝반짝 작은 별)의 악보 중 일부이다. 위 악보를 박자와 관계없이 음이름으로 표현하면 CCGGAAG가 된다..
[99클럽] 코딩테스트 스터디, 5일차 "모스부호" TIL - 비기너 (feat. 백준에서 자바스크립트 사용하기) 1. 문제풀이1) 문제, 모스 부호 (백준, 29701)혜민이는 요즘 모스 부호에 관심이 많아졌다. 모스 부호는 짧은 신호와 긴 신호를 적절히 조합하여 문자 기호를 표기하는 방식이다. 각 문자를 나타내는 방식은 미리 정해져 있는데, 예를 들어, 짧은 신호를 '.', 긴 신호를 '-'로 나타낸다면, 모스 부호로 알파벳 'A'는 '.-', 숫자 1은 '.----'와 같이 표기할 수 있다. 모스 부호를 알고 있으면 위험한 상황에서 구조 요청을 하는 데 유용할 것 같아, 혜민이는 평상시에 친구들과 연락을 주고받을 때도 모스 부호를 사용하려고 한다. 혜민이는 친구들이 보내온 모스 부호를 올바르게 해독했는지 바로바로 확인하고 싶어졌다. 알파벳 A-Z, 숫자 0-9, 기호 ',', '.', '?', ':', '-',..
[99클럽] 코딩테스트 스터디, 4일차 TIL - 비기너 1. 문제풀이1) 문제 : 숫자 문자열과 영단어, 프로그래머스네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. - 1478 → "one4seveneight"- 234567 → "23four5six7"- 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해 주세요. 참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다. 제한사항- 1 ≤ s의 길이 ≤ 50- s..
[99클럽] 코딩테스트 스터디, 3일차 TIL - 비기너 1. 문제풀이1) 문제 : 문자열 나누기, 프로그래머스문자열 s가 입력되었을 때 다음 규칙을 따라서 이 문자열을 여러 문자열로 분해하려고 합니다.  - 먼저 첫 글자를 읽습니다. 이 글자를 x라고 합시다.- 이제 이 문자열을 왼쪽에서 오른쪽으로 읽어나가면서, x와 x가 아닌 다른 글자들이 나온 횟수를 각각 셉니다.- 처음으로 두 횟수가 같아지는 순간 멈추고, 지금까지 읽은 문자열을 분리합니다.- s에서 분리한 문자열을 빼고 남은 부분에 대해서 이 과정을 반복합니다. 남은 부분이 없다면 종료합니다.- 만약 두 횟수가 다른 상태에서 더 이상 읽을 글자가 없다면, 역시 지금까지 읽은 문자열을 분리하고, 종료합니다. 문자열 s가 매개변수로 주어질 때, 위 과정과 같이 문자열들로 분해하고, 분해한 문자열의 개수를..
FSD 폴더 구조란? 1. FSD(Folder-by-Feature Structure)기능별로 프로젝트를 나누어 관리하는 구조를 말한다.각 기능이 독립된 모듈로 관리되도록 구성되며 UI, 데이터 모델, API 호출, 상태관리를 독립적으로 구현할 수 있다. FSD 폴더 구조를 사용하면, 각각의 기능이 독립적으로 동작할 수 있어 유지보수와 확장이 쉬워진다.주로 대규모 프로젝트에서 사용된다. 2. FSD 폴더 구조  FSD의 폴더 구조는 Layers > Slices > Segments로 구성되어 있다.1) Layer역할에 따라 나뉜 폴더 그룹을 의미한다.총 7가지 레이어가 존재한다. - App 레이어전역 설정과 초기화 설정을 관리하는 최상위 레이어이다.상태 관리 설정, 라우팅 설정, 스토어 초기화, 다국어 설정, 글로벌 설정 등이 ..
[99클럽] 코딩테스트 스터디, 2일차 TIL - 비기너 1. 문제 풀이1) 문제 :  크기가 작은 부분 문자열, 프로그래머스 숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return 하는 함수 solution을 완성하세요. 예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개입니다.  2) 해석 - t에서 p와 길이가 같은 부분문자열 찾기- t부분 문자열이 p의 숫자보다 작거나 같은 숫자의 횟수 return   3) 풀이function solution(t, p) ..
클린코드(CleanCode)란 무엇인가? (feat. Prettier, ESLint) 항해 플러스에서 클린 코드 과제를 진행하기에 앞서,클린코드가 과연 무엇인지 정리하게 위해 포스팅을 작성한다. 이어 prettier, eslint 등 클린 코드와 관련 있는 것들에 대해서도 자세히 알아보려 한다. 1. 클린코드 (Clean Code)클린 코드는 말 그대로 읽기 쉽고 이해하기 쉬운 코드를 작성하는 것을 말한다.코드 자체가 가독성 있고, 유지보수가 쉽도록 작성되어야 한다는 것이다.  기본적으로 클린 코드는 다음과 같은 특징을 가져야 한다. 1) 클린 코드 특징- 가독성 : 읽기 쉽고 이해하기 쉬워야 한다.- 유지보수성 : 수정사항에 대응하기 쉬우며, 독립적이어야 한다.- 확장성 : 새로운 기능을 추가할 때, 기존 코드를 크게 수정하지 않아야 한다.- 견고성 : 에러를 발견하기 쉽고, 에러가 발..