목록전체 글 (766)
치춘짱베리굿나이스
암호 만들기 문제 바로 어제 최백준 조교가 방 열쇠를 주머니에 넣은 채 깜빡하고 서울로 가 버리는 황당한 상황에 직면한 조교들은, 702호에 새로운 보안 시스템을 설치하기로 하였다. 이 보안 시스템은 열쇠가 아닌 암호로 동작하게 되어 있는 시스템이다. 암호는 서로 다른 L개의 알파벳 소문자들로 구성되며 최소 한 개의 모음(a, e, i, o, u)과 최소 두 개의 자음으로 구성되어 있다고 알려져 있다. 또한 정렬된 문자열을 선호하는 조교들의 성향으로 미루어 보아 암호를 이루는 알파벳이 암호에서 증가하는 순서로 배열되었을 것이라고 추측된다. 즉, abc는 가능성이 있는 암호이지만 bac는 그렇지 않다. 새 보안 시스템에서 조교들이 암호로 사용했을 법한 문자의 종류는 C가지가 있다고 한다. 이 알파벳을 입수..
웰컴 문제 Welcome을 예제 출력처럼 출력하는 프로그램을 작성하시오. 출력 Welcome을 아래 예제 출력처럼 출력한다. 풀이 const welcome = () => { console.log(". . .\n| | _ | _. _ ._ _ _\n|/\\|(/.|(_.(_)[ | )(/."); }; welcome(); 반성회 예
로또 문제 독일 로또는 {1, 2, ..., 49}에서 수 6개를 고른다. 로또 번호를 선택하는데 사용되는 가장 유명한 전략은 49가지 수 중 k(k>6)개의 수를 골라 집합 S를 만든 다음 그 수만 가지고 번호를 선택하는 것이다. 예를 들어, k=8, S={1,2,3,5,8,13,21,34}인 경우 이 집합 S에서 수를 고를 수 있는 경우의 수는 총 28가지이다. ([1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], ..., [3,5,8,13,21,34]) 집합 S와 k가 주어졌을 때, 수를 고르는 모든 방법을 구하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다...
N과 M (11) 문제 N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수 중에서 M개를 고른 수열 같은 수를 여러 번 골라도 된다. 입력 첫째 줄에 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 7) 둘째 줄에 N개의 수가 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다. 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. 풀이 let n, m; let arr; let ans = []; let input; const recurNandM = (k) =>..

내 과제 리팩토링 공식적인 내생각 컴포넌트 완전 재구축의 현장 (점 점 점 점 점) div로 떡칠을 하질 않나, 클래스명 없이 nth-child() 선택자로 어떤걸 선택했는지 알아보기도 힘들게 하질 않나, onClick 이벤트를 굳이 div에 걸질 않나, ... 반성을 좀 많이 (...) 하면서 작업 중이다 심지어 어제 작업하면서 린터도 예전에 쓰던 버전 그대로 놔둬서... 새로 교체했더니 아주 시뻘겋게 죽죽 작업 내용 Toggle 토글은 컴포넌트 자체가 단순해서 리팩토링이 그렇게 어렵지 않았다 const handleOnClick = (e) => { e.preventDefault(); setIsSelected(isSelected ? false : true); } const handleToggleClick..

내 과제 리팩토링 공식적인 내생각 작업 내용 Styled 제거하기 나의 영원한 친구 스타일컴포넌트... 하지만 시맨틱 태그 사용이나 classnames나 css modules에 익숙해지기 위해 잠시 바이바이 하기로 했다 스타일드 컴포넌트에 작성한 css 코드를 그대로 scss에 복붙했더니 컴포넌트들이.. 다 엉망이 되었다 (푸하하) 하나하나 CSS 모듈로 손수 바꿔주었다 div보단 다른 태그도 섞어써버릇 {selectedStr} {selectedStr} 드롭다운의 윗부분을 구현한 코드이다 그냥 전부 div로 때려놨었다 ㅋㅋㅋㅋ 일단 헷갈리면 무조건 div div를 최대한 지울 수 있는 대로 지우고 다른 태그로 교체했다 특히 onClick 이벤트는 div보단 button 태그에 더 어울리는 것 같다.. 클..

😡 많은 프로젝트에서 나를 괴롭혔던 오류이다 툭하면 발생하는데 브라우저에는 컴포넌트가 하나도 렌더링되지 않고 흰 배경만 덩그러니 남아 있어서 더 킹받았던 오류 발생하는 이유도 제대로 몰랐는데 내 코드 리팩토링하면서 이유를 찾아버려 정리하기로 했따 왜 나를 괴롭히는가? 처음에는 각 태그에서 발생하는 이벤트의 기본 동작이 반복적으로 발생하는 줄 알고 e.preventDefault() 를 일일히 넣어주었고, 실제로도 해결되었다 하지만 e.preventDefault()는 태그나 와 같이 특수한 태그에서 일어나는 기본 동작을 막아주는 용도이지, 애초에 button이나 div는 기본 동작이랄 게 없어서 저걸 쓰나 마나 별반 차이가 없었다 리팩토링을 하고 보니 문제점은 함수 그 자체에 있었다;; ... const [..
N과 M (12) 문제 N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수 중에서 M개를 고른 수열 같은 수를 여러 번 골라도 된다. 고른 수열은 비내림차순이어야 한다. 길이가 K인 수열 A가 A1 ≤ A2 ≤ ... ≤ Ak-1 ≤ Ak를 만족하면, 비내림차순이라고 한다. 입력 첫째 줄에 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 둘째 줄에 N개의 수가 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다. 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력..