├── CNAME ├── data ├── js │ ├── lv1 │ │ ├── Lv1_0000_프로그래머스_약수의 합_구현_하은.js │ │ ├── Lv1_0000_프로그래머스_문자열을정수로바꾸기_준혁.js │ │ ├── Lv1_0000_프로그래머스_문자열을 정수로 바꾸기_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_짝수와 홀수_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_문자열다루기기본_구현_혜연.js │ │ ├── Lv1_0000_프로그래머스_짝수와 홀수_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_같은숫자는싫어_스택큐_혜민.js │ │ ├── Lv1_0000_프로그래머스_문자열 내림차순으로 배치하기_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_문자열내림차순으로배치하기_정렬_혜연.js │ │ ├── Lv1_0000_프로그래머스_문자열내림차순으로배치하기_준혁.js │ │ ├── Lv1_0000_프로그래머스_서울에서김서방찾기_구현_준영.js │ │ ├── Lv1_0000_프로그래머스_서울에서김서방찾기_준혁.js │ │ ├── Lv1_0000_프로그래머스_같은숫자는싫어_스택큐_혜연.js │ │ ├── Lv1_0000_프로그래머스_자연수 뒤집어 배열로 만들기_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_정수 내림차순으로 배치하기_구현_재영.js │ │ ├── Lv1_2020_프로그래머스_3진법뒤집기_구현_하연.js │ │ ├── Lv1_0000_프로그래머스_내적_준혁.js │ │ ├── Lv1_0000_프로그래머스_짝수와 홀수_구현_재영.js │ │ ├── Lv1_0000_프로그래머스_짝수와홀수_준혁.js │ │ ├── Lv1_0000_프로그래머스_자릿수 더하기_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_이상한문자만들기_구현_하연.js │ │ ├── Lv1_0000_프로그래머스_정수 내림차순으로 배치하기_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_평균 구하기_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_평균 구하기_구현_재영.js │ │ ├── Lv1_0000_프로그래머스_문자열 내림차순으로 배치하기_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_나머지가1이되는수찾기_구현_승지.js │ │ ├── Lv1_0000_프로그래머스_서울에서 김서방 찾기_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_제일작은수제거하기_구현_혜연.js │ │ ├── Lv1_0000_프로그래머스_핸드폰번호가리기_준혁.js │ │ ├── Lv1_0000_프로그래머스_정수제곱근판별_준혁.js │ │ ├── Lv1_0000_프로그래머스_평균구하기_준혁.js │ │ ├── Lv1_0000_프로그래머스_행렬의덧셈_구현_혜연.js │ │ ├── Lv1_0000_프로그래머스_문자열 내 p와 y의 개수_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_문자열다루기기본_준혁.js │ │ ├── Lv1_0000_프로그래머스_자연수뒤집어배열로만들기_준혁.js │ │ ├── Lv1_0000_프로그래머스_자릿수더하기_구현_준영.js │ │ ├── Lv1_0000_프로그래머스_자연수뒤집어배열로만들기_스택큐_준영.js │ │ ├── Lv1_0000_프로그래머스_하샤드 수_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_하샤드 수_구현_재영.js │ │ ├── Lv1_0000_프로그래머스_핸드폰 번호 가리기_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_핸드폰 번호 가리기_구현_재영.js │ │ ├── Lv1_0000_프로그래머스_x만큼간격이있는n개의숫자_스택큐_준영.js │ │ ├── Lv1_0000_프로그래머스_완주하지못한선수_해시_혜연.js │ │ ├── Lv1_0000_프로그래머스_폰켓몬_해시_혜연.js │ │ ├── Lv1_0000_프로그래머스_x만큼 간격이 있는 n개의 숫자_구현_재영.js │ │ ├── Lv1_0000_프로그래머스_x만큼간격이있는n개의숫자_준혁.js │ │ ├── Lv1_0000_프로그래머스_내적_구현_윤정.js │ │ ├── Lv1_0000_프로그래머스_두정수사이의합_준혁.js │ │ ├── Lv1_0000_프로그래머스_문자열 다루기 기본_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_문자열내마음대로정렬하기_정렬_하연.js │ │ ├── Lv1_0000_프로그래머스_약수의 합_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_약수의 합_구현_재영.js │ │ ├── Lv1_0000_프로그래머스_약수의합_준혁.js │ │ ├── Lv1_0000_프로그래머스_폰켓몬_해시_지수.js │ │ ├── Lv1_0000_프로그래머스_폰켓몬_해시_하연.js │ │ ├── Lv1_0000_프로그래머스_K번째수_정렬_혜연.js │ │ ├── Lv1_0000_프로그래머스_없는숫자더하기_준혁.js │ │ ├── Lv1_0000_프로그래머스_음양더하기_구현_윤정.js │ │ ├── Lv1_0000_프로그래머스_가운데 글자 가져오기_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_평균 구하기_구현_하은.js │ │ ├── Lv1_0000_프로그래머스_숨어있는숫자의덧셈(1)_구현_상용.js │ │ ├── Lv1_0000_프로그래머스_자릿수더하기_준혁.js │ │ ├── Lv1_0000_프로그래머스_제일작은수제거하기_준혁.js │ │ ├── Lv1_0000_프로그래머스_문자열 다루기 기본_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_나누어떨어지는숫자배열_구현_준영.js │ │ ├── Lv1_0000_프로그래머스_문자열 다루기 기본_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_수박수박수박수박수박수_준혁.js │ │ ├── Lv1_0000_프로그래머스_정수 제곱근 판별_지현.js │ │ ├── Lv1_0000_프로그래머스_정수내림차순으로배치하기_준혁.js │ │ ├── Lv1_0000_프로그래머스_가운데글자가져오기_준혁.js │ │ ├── Lv1_0000_프로그래머스_나누어떨어지는숫자배열_준혁.js │ │ ├── Lv1_0000_프로그래머스_자릿수 더하기_구현_재영.js │ │ ├── Lv1_0000_프로그래머스_K번째수_정렬_하연.js │ │ ├── Lv1_0000_프로그래머스_나머지가 1이 되는 수 찾기_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_약수의개수와덧셈_구현_혜연.js │ │ ├── Lv1_0000_프로그래머스_음양더하기_준혁.js │ │ ├── Lv1_0000_프로그래머스_나머지가 1이 되는 수 찾기_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_부족한 금액 계산하기_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_옹알이(2)_구현_하연.js │ │ ├── Lv1_0000_프로그래머스_정수 제곱근 판별_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_부족한 금액 계산하기_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_없는 숫자 더하기_구현_가은.js │ │ ├── Lv1_2021_카카오_숫자문자열과영단어_해시_혜연.js │ │ ├── Lv1_0000_프로그래머스_x만큼 간격이 있는 n개의 숫자_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_가운데 글자 가져오기_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_같은 숫자는 싫어_스택큐_지수.js │ │ ├── Lv1_0000_프로그래머스_시저암호_구현_하연.js │ │ ├── Lv1_0000_프로그래머스_예산_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_정수 제곱근 판별_구현_재영.js │ │ ├── Lv1_0000_프로그래머스_최대공약수와최소공배수_스택큐_하연.js │ │ ├── Lv1_0000_프로그래머스_부족한 금액 계산하기_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_없는숫자더하기_구현_윤정.js │ │ ├── Lv1_0000_프로그래머스_하샤드수_준혁.js │ │ ├── Lv1_0000_프로그래머스_예산_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_직사각형별찍기_준혁.js │ │ ├── Lv1_2018_프로그래머스_예산_그리디_하연.js │ │ ├── Lv1_0000_프로그래머스_콜라르추측_준혁.js │ │ ├── Lv1_2021_카카오_숫자문자열과영단어_구현_하연.js │ │ ├── Lv1_0000_프로그래머스_수박수박수박수박수박수_구현_하은.js │ │ ├── Lv1_0000_프로그래머스_완주하지못한선수_해시_선근.js │ │ ├── Lv1_0000_프로그래머스_같은 숫자는 싫어_스택큐_지수.js │ │ ├── Lv1_0000_프로그래머스_최대공약수와 최소공배수_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_덧칠하기_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_수박수박수박수박수박수_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_2016년_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_추억 점수_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_콜라츠 추측_구현_재영.js │ │ ├── Lv1_0000_프로그래머스_2016년_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_문자열내p와y의개수_준혁.js │ │ ├── Lv1_0000_프로그래머스_부족한금액계산하기_준혁.js │ │ ├── Lv1_0000_프로그래머스_최대공약수와 최소공배수_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_카드뭉치_구현_하연.js │ │ ├── Lv1_0000_프로그래머스_예산_그리디_윤정.js │ │ ├── Lv1_2021_프로그래머스_로또의최고순위와최저순위_구현_하연.js │ │ ├── Lv1_0000_프로그래머스_음양 더하기_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_카드 뭉치_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_두 정수 사이의 합_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_직사각형 별찍기_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_최소직사각형_완전탐색_지수.js │ │ ├── Lv1_2020_프로그래머스_두개뽑아서더하기_집합_하연.js │ │ ├── Lv1_0000_프로그래머스_제일 작은 수 제거하기_구현_재영.js │ │ ├── Lv1_0000_프로그래머스_푸드파이트대회_구현_하연.js │ │ ├── Lv1_0000_프로그래머스_행렬의 덧셈_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_행렬의덧셈_준혁.js │ │ ├── Lv1_0000_프로그래머스_2016년_구현_하연.js │ │ ├── Lv1_0000_프로그래머스_크기가 작은 부분문자열_구현_지수.js │ │ ├── Lv1_2018_카카오_비밀지도_구현_의호.js │ │ ├── Lv1_프로그래머스_행렬의덧셈_구현_지현.js │ │ ├── Lv1_0000_프로그래머스_두 개 뽑아서 더하기_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_약수의개수와덧셈_준혁.js │ │ ├── Lv1_2018_카카오_[1차]비밀지도_구현_승지.js │ │ ├── Lv1_0000_프로그래머스_직사각형 별찍기_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_최소직사각형_완전탐색_지수.js │ │ ├── Lv1_0000_프로그래머스_푸드 파이트 대회_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_행렬의 덧셈_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_크기가 작은 부분문자열_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_콜라츠 추측_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_K번째수_정렬_지수.js │ │ ├── Lv1_0000_프로그래머스_소수찾기_에라토스테네스의체_하연.js │ │ ├── Lv1_0000_프로그래머스_명예의전당_구현_용덕.js │ │ ├── Lv1_2019_카카오_실패율_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_나누어 떨어지는 숫자 배열_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_삼총사_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_직사각형별찍기_구현_지현.js │ │ ├── Lv1_0000_프로그래머스_삼총사_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_약수의 개수와 덧셈_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_명예의 전당 (1)_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_문자열 내 p와 y의 개수_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_문자열나누기_구현_하연.js │ │ ├── Lv1_0000_프로그래머스_문자열 내림차순으로 배치하기_구현_가은.js │ │ ├── Lv1_0000_프로그래머스_가장가까운글자_구현_용덕.js │ │ ├── Lv1_2021_카카오_신규아이디추천_구현_하연.js │ │ ├── Lv1_0000_프로그래머스_약수의 개수와 덧셈_구현_지수.js │ │ ├── Lv1_0000_프로그래머스_최소직사각형_완전탐색_현태.js │ │ ├── Lv1_0000_프로그래머스_둘만의암호_구현_하연.js │ │ ├── Lv1_0000_프로그래머스_삼총사_구현_상용.js │ │ ├── Lv1_2019_카카오_실패율_정렬_하연.js │ │ ├── Lv1_0000_프로그래머스_삼총사_구현_수정.js │ │ ├── Lv1_0000_프로그래머스_숫자짝꿍_구현_하연.js │ │ ├── Lv1_0000_프로그래머스_햄버거만들기_스택큐_하연.js │ │ └── Lv1_0000_프로그래머스_달리기경주_해시_태수.js │ ├── lv0 │ │ ├── Lv0_0000_프로그래머스_두 수의 합_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_편지_구현_가은.js │ │ ├── Lv0_0000_백준_고양이_구현_혜연.js │ │ ├── Lv0_0000_프로그래머스_세균 증식_구현_가람.js │ │ ├── lv0_0000_프로그래머스_종이 자르기_구현_하은.js │ │ ├── Lv0_0000_프로그래머스_치킨쿠폰_구현_혜연.js │ │ ├── Lv0_0000_프로그래머스_편지_구현_하은.js │ │ ├── Lv0_0000_프로그래머스_문자리스트를문자열로변환하기_구현_예지.js │ │ ├── Lv0_0000_프로그래머스_문자열곱하기_구현_예지.js │ │ ├── Lv0_0000_프로그래머스_배열 두배 만들기_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_숫자 비교하기_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_제곱수 판별하기_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_문자열 안에 문자열_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_배열 뒤집기_구현_하은.js │ │ ├── Lv0_0000_프로그래머스_숫자 찾기_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_양꼬치_하은.js │ │ ├── lv0_0000_프로그래머스_피자 나눠 먹기 (3)_구현_사라.js │ │ ├── Lv0_0000_프로그래머스_369게임_구현_혜연.js │ │ ├── Lv0_0000_프로그래머스_모음제거_구현_태희.js │ │ ├── Lv0_0000_프로그래머스_문자열안에문자열_구현_지현.js │ │ ├── Lv0_0000_프로그래머스_아이스아메리카노_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_주사위의개수_구현_혜연.js │ │ ├── lv0_0000_프로그래머스_7의 개수_구현_사라.js │ │ ├── Lv0_0000_프로그래머스_n의 배수 고르기_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_배열의 유사도_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_제곱수_판별하기_구현_윤석.js │ │ ├── Lv0_0000_프로그래머스_문자열섞기_구현_예지.js │ │ ├── Lv0_0000_프로그래머스_OX퀴즈_구현_혜연.js │ │ ├── Lv0_0000_프로그래머스_피자 나눠먹기(1)_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_가장큰수찾기_구현_혜연.js │ │ ├── Lv0_0000_프로그래머스_문자열정렬하기(2)_구현_지현.js │ │ ├── Lv0_0000_프로그래머스_배열자르기_구현_하은.js │ │ ├── Lv0_0000_프로그래머스_최댓값 만들기(1)_구현_하은.js │ │ ├── Lv0_0000_뒤에서 5등까지_구현_수정.js │ │ ├── Lv0_0000_프로그래머스_369게임_구현_하은.js │ │ ├── Lv0_0000_프로그래머스_외계행성의 나이_구현_태희.js │ │ ├── Lv0_0000_프로그래머스_자릿수 더하기_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_잘라서 배열로 저장하기_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_특이한 정렬_구현_의호.js │ │ ├── Lv0_0000_프로그래머스_배열의 유사도_구현_태희.js │ │ ├── Lv0_0000_프로그래머스_삼각형의완성조건(1)_구현_상용.js │ │ ├── Lv0_0000_프로그래머스_연속된수의합_구현_혜연.js │ │ ├── Lv0_0000_프로그래머스_저주의숫자3_다이나믹_혜연.js │ │ ├── Lv0_0000_프로그래머스_편지_구현_태희.js │ │ ├── Lv0_0000_프로그래머스_369게임_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_A로 B 만들기_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_삼격형의 완성조건(1)_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_암호 해독_구현_가람.js │ │ ├── Lv0_0000_프로그래머스_팩토리얼_구현_혜연.js │ │ ├── lv0_0000_프로그래머스_중복된 문자 제거_구현_사라.js │ │ ├── Lv0_0000_프로그래머스_삼각형의 완성조건(1)_구현_가람.js │ │ ├── Lv0_0000_프로그래머스_수열과구간쿼리3_정렬_혜연.js │ │ ├── Lv0_0000_프로그래머스_중앙값_구하기_구현_태희.js │ │ ├── Lv0_0000_프로그래머스_진료순서 정하기_구현_지수.js │ │ ├── Lv0_0000_프로그래머스_숨어있는숫자의덧셈(2)_구현_상용.js │ │ ├── Lv0_0000_프로그래머스_짝수는 싫어요_구현_태희.js │ │ ├── Lv0_0000_자릿수더하기_구현_지현.js │ │ ├── Lv0_0000_프로그래머스_A로B만들기_구현_승지.js │ │ ├── Lv0_0000_프로그래머스_암호 해독_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_진료 순서 정하기_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_특정 문자 제거하기_구현_재영.js │ │ ├── Lv0_0000_프로그래머스_모음 제거_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_숨어있는 숫자의 덧셈(1)_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_각도기_구현_하은.js │ │ ├── Lv0_0000_프로그래머스_대문자와소문자_구현_혜연.js │ │ ├── Lv0_0000_프로그래머스_피자 나눠 먹기 (2)_구현_가람.js │ │ ├── lv0_0000_프로그래머스_가장 큰 수 찾기_구현_사라.js │ │ ├── Lv0_0000_프로그래머스_문자_반복_출력하기_구현_윤석.js │ │ ├── Lv0_0000_프로그래머스_홀짝구분하기_구현_예지.js │ │ ├── Lv0_0000_프로그래머스_369게임_구현_재영.js │ │ ├── Lv0_0000_프로그래머스_문자열 정렬하기(1)_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_두 수의 연산값 비교하기_구현_예지.js │ │ ├── Lv0_0000_프로그래머스_수열과구간쿼리2_구현_혜연.js │ │ ├── Lv0_0000_프로그래머스_순서쌍의 개수_구현_수아.js │ │ ├── Lv0_0000_프로그래머스_인덱스바꾸기_구현_혜연.js │ │ ├── Lv0_0000_프로그래머스_배열 원소의 길이_구현_하은.js │ │ ├── Lv0_0000_프로그래머스_다음에올숫자_구현_혜연.js │ │ ├── Lv0_0000_프로그래머스_문자반복출력하기_구현_수아.js │ │ ├── Lv0_0000_프로그래머스_배열_회전시키기_구현_윤석.js │ │ ├── lv0_0000_프로그래머스_2차원으로 만들기_구현_사라.js │ │ ├── Lv0_0000_프로그래머스_짝수는 싫어요_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_문자열겹쳐쓰기_구현_예지.js │ │ ├── Lv0_0000_프로그래머스_n의배수_구현_윤정.js │ │ ├── Lv0_0000_프로그래머스_외계어사전_구현_지현.js │ │ ├── Lv0_0000_프로그래머스_배열의 평균값_구현_하은.js │ │ ├── Lv0_0000_프로그래머스_순서쌍의 개수_구현_태희.js │ │ ├── Lv0_0000_프로그래머스_약수구하기_구현_혜연.js │ │ ├── Lv0_0000_프로그래머스_머쓱이보다 키 큰 사람_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_짝수의 합_구현_하은.js │ │ ├── lv0_0000_프로그래머스_인덱스 바꾸기_구현_사라.js │ │ ├── Lv0_0000_프로그래머스_주사위의 개수_구현_가람.js │ │ ├── lv0_0000_프로그래머스_약수 구하기_구현_사라.js │ │ ├── Lv0_0000_프로그래머스_숨어있는_숫자의_덧셈_구현_윤석.js │ │ ├── lv0_0000_프로그래머스_다음에 올 숫자_구현_하은.js │ │ ├── Lv0_0000_프로그래머스_문자열계산하기_구현_혜연.js │ │ ├── Lv0_0000_프로그래머스_잘라서 배열로 저장하기_구현_지현.js │ │ ├── lv0_0000_프로그래머스_치킨 쿠폰_구현_사라.js │ │ ├── Lv0_0000_프로그래머스_영어가싫어요_구현_혜연.js │ │ ├── Lv0_0000_프로그래머스_유한소수판별하기_구현_혜연.js │ │ ├── lv0_0000_프로그래머스_n의 배수 고르기_구현_사라.js │ │ ├── Lv0_0000_프로그래머스_옷가게 할인 받기_구현_하은.js │ │ ├── lv0_0000_프로그래머스_연속된 수의 합_구현_하은.js │ │ ├── Lv0_0000_프로그래머스_구슬을나누는경우의수_구현_지현.js │ │ ├── lv0_0000_프로그래머스_숫자 찾기_구현_사라.js │ │ ├── Lv0_0000_프로그래머스_최빈값구하기_해시_혜연.js │ │ ├── lv0_0000_프로그래머스_A로 B 만들기_구현_사라.js │ │ ├── Lv0_0000_프로그래머스_문자열여러번뒤집기_정렬_혜연.js │ │ ├── Lv0_0000_프로그래머스_조건에 맞게 수열 변환하기 1_구현_재영.js │ │ ├── Lv0_0000_프로그래머스_점의 위치 구하기_구현_하은.js │ │ ├── Lv0_0000_프로그래머스_평행_완전탐색_혜연.js │ │ ├── Lv0_0000_프로그래머스_대문자와 소문자_구현_가람.js │ │ ├── lv0_0000_프로그래머스_팩토리얼_구현_사라.js │ │ ├── lv0_0000_프로그래머스_문자열 정렬하기 (1)_구현_사라.js │ │ ├── Lv0_0000_특정 문자열로 끝나는 가장 긴 부분 문자열 찾기_구현_수정.js │ │ ├── Lv0_0000_프로그래머스_더_크게_합치기_구현_예지.js │ │ ├── Lv0_0000_프로그래머스_배열만들기4_스택큐_혜연.js │ │ ├── Lv0_0000_프로그래머스_옷가게 할인 받기_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_정수찾기_구현_윤정.js │ │ ├── lv0_0000_프로그래머스_최댓값 만들기 (2)_구현_사라.js │ │ ├── Lv0_0000_프로그래머스_문자열_출력하기_구현_예지.js │ │ ├── Lv0_0000_프로그래머스_분수의덧셈_구현_혜연.js │ │ ├── Lv0_0000_프로그래머스_가위 바위 보_구현_가람.js │ │ ├── Lv0_0000_프로그래머스_문자열_돌리기_구현_예지.js │ │ ├── Lv0_0000_프로그래머스_개미군단_완전탐색_윤정.js │ │ ├── Lv0_0000_프로그래머스_a와b_출력하기_구현_예지.js │ │ ├── Lv0_0000_프로그래머스_문자열이 몇 번 등장하는지 세기_구현_세원.js │ │ ├── Lv0_0000_프로그래머스_점의 위치 구하기_구현_가은.js │ │ ├── Lv0_0000_프로그래머스_직사각형넓이구하기_구현_지현.js │ │ ├── Lv0_0000_프로그래머스_한번만등장한문자_해시_윤정.js │ │ ├── Lv0_0000_프로그래머스_문자열_반복해서_출력하기_구현_예지.js │ │ ├── Lv0_0000_프로그래머스_문자열계산하기_구현_지현.js │ │ ├── Lv0_0000_프로그래머스_덧셈식_출력하기_구현_예지.js │ │ └── Lv0_0000_프로그래머스_최빈값구하기_구현_승지.js │ ├── lv2 │ │ ├── Lv2_0000_프로그래머스_H-Index_정렬_혜연.js │ │ ├── Lv2_0000_프로그래머스_최댓값과최솟값_구현_혜연.js │ │ ├── Lv2_0000_프로그래머스_최댓값과최솟값_구현_하은.js │ │ ├── Lv2_0000_프로그래머스_가장큰수_정렬_혜연.js │ │ ├── Lv2_0000_프로그래머스_H-Index_정렬_선근.js │ │ ├── Lv2_0000_프로그래머스_JadenCase 문자열 만들기_구현_지수.js │ │ ├── Lv2_0000_프로그래머스_의상_해시_혜연.js │ │ ├── Lv2_0000_프로그래머스_피보나치수_다이나믹_혜연.js │ │ ├── Lv2_0000_프로그래머스_JadenCase문자열만들기_구현_보경.js │ │ ├── Lv2_0000_프로그래머스_최댓값과최솟값_구현_원영.js │ │ ├── Lv2_0000_프로그래머스_가장큰수_정렬_준영.js │ │ ├── Lv2_0000_프로그래머스_올바른괄호_스택큐_승지.js │ │ ├── Lv2_0000_프로그래머스_올바른괄호_스택큐_혜연.js │ │ ├── Lv2_2019_카카오_튜플_정렬_혜연.js │ │ ├── Lv2_0000_프로그래머스_카펫_완전탐색_원영.js │ │ ├── Lv2_0000_프로그래머스_이진변환반복하기_재귀_혜연.js │ │ ├── Lv2_0000_프로그래머스_짝지어제거하기_스택큐_보경.js │ │ ├── Lv2_0000_프로그래머스_최댓값과최솟값_준혁.js │ │ ├── Lv2_0000_프로그래머스_이진 변환 반복하기_구현_지수.js │ │ ├── Lv2_0000_프로그래머스_올바른괄호_스택큐_원영.js │ │ ├── Lv2_0000_프로그래머스_카펫_완전탐색_보경.js │ │ ├── Lv2_0000_프로그래머스_프로세스_스택큐_혜연.js │ │ ├── Lv2_2022_카카오_k진수에서소수개수구하기_구현_원영.js │ │ └── Lv2_0000_프로그래머스_타겟넘버_DFS_승지.js │ └── lv3 │ │ └── Lv3_0000_백준_sxn타일링_다이나믹_보경.js └── py │ ├── lv1 │ ├── Lv1_2018_카카오_[1차] 비밀지도_구현_재영.py │ ├── Lv1_2018_프로그래머스_예산_구현_재영.py │ ├── Lv1_0000_프로그래머스_3진법 뒤집기_구현_재영.py │ ├── Lv1_0000_프로그래머스_같은 숫자는 싫어_구현_재영.py │ ├── Lv1_0000_프로그래머스_문자열 다루기 기본_구현_재영.py │ ├── Lv1_0000_프로그래머스_문자열 내림차순으로 배치하기_구현_재영.py │ ├── Lv1_0000_프로그래머스_문자열을정수로바꾸기_구현_재호.py │ ├── Lv1_0000_프로그래머스_평균 구하기_구현_성철.py │ ├── Lv1_0000_프로그래머스_평균구하기_구현_재호.py │ ├── Lv1_0000_프로그래머스_자릿수더하기_구현_재호.py │ ├── Lv1_0000_프로그래머스_문자열을 정수로 바꾸기_구현_재영.py │ ├── Lv1_0000_프로그래머스_짝수와 홀수_구현_성철.py │ ├── Lv1_0000_프로그래머스_x만큼간격이있는n개의숫자_구현_재호.py │ ├── Lv1_0000_프로그래머스_자연수뒤집어배열로만들기_구현_재호.py │ ├── Lv1_0000_프로그래머스_나머지가1이되는수찾기_구현_재호.py │ ├── Lv1_0000_프로그래머스_문자열을 정수로 바꾸기_구현_선빈.py │ ├── Lv1_0000_프로그래머스_자릿수더하기_구현_재혁.py │ ├── Lv1_0000_프로그래머스_정수내림차순으로배치하기_구현_재호.py │ ├── Lv1_0000_프로그래머스_없는숫자더하기_구현_재호.py │ ├── Lv1_0000_프로그래머스_자릿수 더하기_구현_성철.py │ ├── Lv1_0000_프로그래머스_자연수 뒤집어 배열로 만들기_구현_재영.py │ ├── Lv1_0000_프로그래머스_서울에서김서방찾기_구현_재호.py │ ├── Lv1_0000_프로그래머스_직사각형_별찍기_구현_재호.py │ ├── Lv1_0000_프로그래머스_나머지가 1이 되는 수 찾기_구현_성철.py │ ├── Lv1_0000_프로그래머스_자연수 뒤집어 배열로 만들기_구현_선빈.py │ ├── Lv1_0000_프로그래머스_짝수와홀수_구현_재호.py │ ├── Lv1_0000_프로그래머스_평균 구하기_구현_선빈.py │ ├── Lv1_0000_프로그래머스_홀수와짝수_구현_재혁.py │ ├── Lv1_0000_월간코드챌린지시즌3_나머지가 1이 되는 수 찾기_구현_선빈.py │ ├── Lv1_0000_프로그래머스_서울에서 김서방 찾기_구현_재영.py │ ├── Lv1_0000_프로그래머스_정수제곱근판별_구현_재호.py │ ├── Lv1_0000_프로그래머스_자릿수 더하기_구현_선빈.py │ ├── Lv1_0000_프로그래머스_내적_구현_재영.py │ ├── Lv1_0000_프로그래머스_내적_구현_재호.py │ ├── Lv1_0000_프로그래머스_두 정수 사이의 합_구현_재영.py │ ├── Lv1_0000_프로그래머스_정수 내림차순으로 배치하기_구현_선빈.py │ ├── Lv1_0000_프로그래머스_제일작은수제거하기_구현_재호.py │ ├── Lv1_0000_프로그래머스_약수의 합_구현_선빈.py │ ├── Lv1_0000_월간코드챌린지시즌3_없는 숫자 더하기_구현_선빈.py │ ├── Lv1_0000_프로그래머스_서울에서 김서방 찾기_구현_선빈.py │ ├── Lv1_0000_프로그래머스_약수의 합_구현_영조.py │ ├── Lv1_0000_프로그래머스_제일 작은 수 제거하기_구현_선빈.py │ ├── Lv1_0000_프로그래머스_짝수와 홀수_구현_선빈.py │ ├── Lv1_0000_프로그래머스_핸드폰 번호 가리기_구현_선빈.py │ ├── Lv1_0000_프로그래머스_핸드폰번호가리기_구현_재호.py │ ├── Lv1_0000_프로그래머스_약수의 합_구현_성철.py │ ├── Lv1_0000_프로그래머스_약수의합_구현_재호.py │ ├── Lv1_0000_프로그래머스_문자열 내 마음대로 정렬하기_구현_재영 copy 5.py │ ├── Lv1_0000_프로그래머스_가운데글자가져오기_구현_재호.py │ ├── Lv1_0000_프로그래머스_없는 숫자 더하기_구현_재영.py │ ├── Lv1_0000_프로그래머스_제일 작은 수 제거하기_구현_선빈.py │ ├── Lv1_0000_프로그래머스_문자열다루기기본_구현_재호.py │ ├── Lv1_0000_프로그래머스_하샤드수_구현_재호.py │ ├── Lv1_0000_월간코드챌린지시즌3_없는 숫자 더하기_구현_선빈.py │ ├── Lv1_0000_프로그래머스_음양 더하기_구현_재영.py │ ├── Lv1_0000_프로그래머스_나누어떨어지는숫자배열_구현_재호.py │ ├── Lv1_0000_프로그래머스_문자열내p와y의개수_구현_재호.py │ ├── Lv1_0000_프로그래머스_나머지가 1이 되는 수 찾기_구현_재영.py │ ├── Lv1_0000_프로그래머스_체육복_그리디_재영.py │ ├── Lv1_0000_프로그래머스_폰켓몬_해시_재영.py │ ├── Lv1_0000_프로그래머스_같은숫자는싫어_스택큐_재호.py │ ├── Lv1_0000_프로그래머스_두 정수 사이의 합_구현_선빈.py │ ├── Lv1_0000_프로그래머스_수박수박수박수박수박수__구현_재호.py │ ├── Lv1_0000_프로그래머스_하샤드 수_구현_선빈.py │ ├── Lv1_0000_프로그래머스_명예의전당(1)_구현_재호.py │ ├── Lv1_0000_프로그래머스_푸드파이트대회_구현_재호.py │ ├── Lv1_2018_카카오_[1차]비밀지도_비트연산_재호.py │ ├── Lv1_0000_월간코드챌린지시즌2_음양 더하기_구현_성철.py │ ├── Lv1_0000_프로그래머스_가운데 글자 가져오기_구현_재영.py │ ├── Lv1_0000_프로그래머스_문자열 내 p와 y의 개수_구현_재영.py │ ├── Lv1_0000_프로그래머스_나누어 떨어지는 숫자 배열_구현_선빈.py │ ├── Lv1_0000_프로그래머스_K번째수_구현_재영.py │ ├── Lv1_0000_프로그래머스_부족한금액계산하기_구현_재호.py │ ├── Lv1_0000_프로그래머스_약수의개수와덧셈_구현_재호.py │ ├── Lv1_0000_프로그래머스_정수 제곱근 판별_구현_선빈.py │ ├── Lv1_0000_프로그래머스_콜라문제_구현_재호.py │ ├── Lv1_0000_프로그래머스_x만틈 간격이 있는 n개의 숫자_구현_선빈.py │ ├── Lv1_0000_프로그래머스_음양더하기_구현_재호.py │ ├── Lv1_0000_프로그래머스_부족한 금액 계산하기_구현_재영.py │ ├── Lv1_0000_프로그래머스_예산_그리디_재호.py │ ├── Lv1_2024_PCCE 기출문제 10번_데이터 분석_구현_성철 .py │ ├── Lv1_0000_월간코드챌린지시즌2_음양 더하기_구현_선빈.py │ ├── Lv1_0000_프로그래머스_두정수사이의합_구현_재호.py │ ├── LV1_0000_프로그래머스_x만큼 간격이 있는 n개의 숫자_구현_성철.py │ ├── Lv1_0000_프로그래머스_두 개 뽑아서 더하기_구현_재영.py │ ├── Lv1_0000_프로그래머스_두개뽑아서더하기_구현_재호.py │ ├── Lv1_0000_프로그래머스_나누어 떨어지는 숫자 배열_구현_재영.py │ ├── Lv1_0000_프로그래머스_문자열내림차순으로배치하기_구현_재호.py │ ├── Lv1_0000_프로그래머스_최대공약수와최소공배수_구현_재호.py │ ├── Lv1_0000_프로그래머스_추억점수_구현_광호.py │ ├── Lv1_0000_프로그래머스_시저 암호_구현_영조.py │ ├── Lv1_0000_프로그래머스_2016년_구현_재영.py │ ├── Lv1_0000_프로그래머스_문자열 내 p와 y의 개수_구현_성철.py │ ├── Lv1_0000_프로그래머스_문자열 내 p와 y의 개수_구현_선빈.py │ ├── Lv1_2018_프로그래머스_소수 만들기_구현_재영.py │ ├── Lv1_0000_프로그래머스_약수의 개수와 덧셈_구현_재영.py │ ├── Lv1_2021_카카오_숫자_문자열과_영단어_구현_재호.py │ ├── Lv1_0000_프로그래머스_최소직사각형_완전탐색_재호.py │ ├── Lv1_0000_프로그래머스_수박수박수박수박수박수_구현_선빈.py │ ├── Lv1_0000_월간코드챌린지시즌2_약수의 개수와 덧셈_구현_성철.py │ ├── Lv1_0000_프로그래머스_최소직사각형_완전탐색_재영.py │ ├── Lv1_0000_프로그래머스_콜라츠 추측_구현_선빈.py │ ├── Lv1_0000_프로그래머스_수박수박수박수박수박수_구현_선빈.py │ ├── Lv1_2021_프로그래머스_로또의 최고 순위와 최저 순위_구현_재영.py │ ├── Lv1_0000_프로그래머스_추억점수_구현_재호.py │ ├── Lv1_0000_프로그래머스_콜라츠추측_구현_재호.py │ ├── Lv1_0000_프로그래머스_카드뭉치_스택큐_광호.py │ ├── Lv1_2024_PCCE 기출문제 9번_이웃한 칸_구현_성철.py │ └── Lv1_0000_프로그래머스_이상한문자만들기_구현_재호.py │ ├── lv0 │ ├── Lv0_0000_프로그래머스_세균증식_구현_재호.py │ ├── Lv0_0000_프로그래머스_나이출력_구현_재호.py │ ├── Lv0_0000_프로그래머스_편지_구현_재호.py │ ├── Lv0_0000_프로그래머스_문자열뒤집기_구현_재호.py │ ├── Lv0_0000_프로그래머스_중복된숫자개수_구현_재호.py │ ├── Lv0_0000_프로그래머스_짝수의합_구현_재호.py │ ├── Lv0_0000_프로그래머스_편지_구현_선빈.py │ ├── Lv0_0000_프로그래머스_피자나눠먹기(1)_구현_재호.py │ ├── Lv0_0000_프로그래머스_배열 뒤집기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_배열의유사도_구현_재호.py │ ├── Lv0_0000_프로그래머스_배열의 유사도_구현_선빈.py │ ├── Lv0_0000_프로그래머스_배열의평균값_구현_재호.py │ ├── Lv0_0000_프로그래머스_짝수는싫어요_구현_재호.py │ ├── Lv0_0000_프로그래머스_공던지기_구현_윤정.py │ ├── Lv0_0000_프로그래머스_배열 두 배 만들기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_배열 원소의 길이_구현_선빈.py │ ├── Lv0_0000_프로그래머스_배열뒤집기_구현_재호.py │ ├── Lv0_0000_프로그래머스_배열의 평균값_구현_선빈.py │ ├── Lv0_0000_프로그래머스_약수구하기_구현_재호.py │ ├── Lv0_0000_프로그래머스_중복된문자제거_구현_재호.py │ ├── Lv0_0000_프로그래머스_직각삼각형출력하기_구현_재호.py │ ├── Lv0_0000_프로그래머스_피자나눠먹기(3)_구현_재호.py │ ├── Lv0_0000_프로그래머스_문자반복출력하기_구현_재호.py │ ├── Lv0_0000_프로그래머스_문자열정렬하기(2)_구현_재호.py │ ├── Lv0_0000_프로그래머스_특정문자제거하기_구현_재호.py │ ├── Lv0_0000_프로그래머스_문자 반복 출력하기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_주사위의개수_구현_재호.py │ ├── Lv0_0000_프로그래머스_직각삼각형 출력하기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_최댓값만들기(1)_구현_재호.py │ ├── Lv0_0000_프로그래머스_피자 나눠 먹기 (1)_구현_선빈.py │ ├── Lv0_0000_프로그래머스_나머지 구하기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_나이 출력_구현_선빈.py │ ├── Lv0_0000_프로그래머스_두 수의 곱_구현_선빈.py │ ├── Lv0_0000_프로그래머스_두 수의 합_구현_선빈.py │ ├── Lv0_0000_프로그래머스_몫 구하기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_문자열 뒤집기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_세균 증식_구현_성철.py │ ├── Lv0_0000_프로그래머스_주사위의 개수_구현_선빈.py │ ├── Lv0_0000_프로그래머스_중복된 숫자 개수_구현_선빈.py │ ├── Lv0_0000_프로그래머스_중앙값 구하기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_머쓱이보다 키 큰 사람_구현_선빈.py │ ├── Lv0_0000_프로그래머스_문자열정렬하기(1)_구현_재호.py │ ├── Lv0_0000_프로그래머스_잘라서 배열로 저장하기_구현_성철.py │ ├── Lv0_0000_프로그래머스_n의배수고르기_구현_재호.py │ ├── Lv0_0000_프로그래머스_암호해독_구현_재호.py │ ├── Lv0_0000_프로그래머스_개미 군단_구현_선빈.py │ ├── Lv0_0000_프로그래머스_두 수의 나눗셈_구현_선빈.py │ ├── Lv0_0000_프로그래머스_아이스 아메리카노_구현_선빈.py │ ├── Lv0_0000_프로그래머스_중앙값구하기_구현_재호.py │ ├── Lv0_0000_프로그래머스_가위 바위 보_구현_선빈.py │ ├── Lv0_0000_프로그래머스_가장 큰 수 찾기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_문자열안에문자열_구현_재호.py │ ├── Lv0_0000_프로그래머스_배열 자르기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_숫자비교하기_구현_재호.py │ ├── Lv0_0000_프로그래머스_약수 구하기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_제곱수판별하기_구현_재호.py │ ├── Lv0_0000_프로그래머스_n의 배수 고르기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_문자열 정렬하기 (2)_구현_선빈.py │ ├── Lv0_0000_프로그래머스_문자열안에 문자열_구현_선빈.py │ ├── Lv0_0000_프로그래머스_숫자 비교하기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_특정 문자 제거하기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_세균 증식_구현_선빈.py │ ├── Lv0_0000_프로그래머스_자릿수 더하기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_특별한 이차원 배열 1_구현_성철.py │ ├── Lv0_0000_프로그래머스_배열원소의길이_구현_재호.py │ ├── Lv0_0000_프로그래머스_아이스아메리카노_구현_재호.py │ ├── Lv0_0000_프로그래머스_양꼬치_구현_선빈.py │ ├── Lv0_0000_프로그래머스_자릿수더하기_구현_재호.py │ ├── Lv0_0000_프로그래머스_제곱수 판별하기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_369 게임_구현_선빈.py │ ├── Lv0_0000_프로그래머스_문자열 정렬하기 (1)_구현_선빈.py │ ├── Lv0_0000_프로그래머스_배열두배만들기_구현_재호.py │ ├── Lv0_0000_프로그래머스_양꼬치_구현_재호.py │ ├── Lv0_0000_프로그래머스_짝수의 합_구현_선빈.py │ ├── Lv0_0000_프로그래머스_최댓값 만들기 (1)_구현_선빈.py │ ├── Lv0_0000_프로그래머스_피자 나눠 먹기 (2)_구현_선빈.py │ ├── Lv0_0000_프로그래머스_피자나눠먹기(2)_구현_재호.py │ ├── Lv0_0000_프로그래머스_숫자찾기_구현_재호.py │ ├── Lv0_0000_프로그래머스_문자열 정렬하기 (2)_구현_선빈.py │ ├── Lv0_0000_프로그래머스_삼각형의완성조건(1)_구현_재호.py │ ├── Lv0_0000_프로그래머스_피자 나눠 먹기 (3)_구현_선빈.py │ ├── Lv0_0000_프로그래머스_머쓱이보다키큰사람_구현_재호.py │ ├── Lv0_0000_프로그래머스_숫자 찾기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_순서쌍의 개수_구현_선빈.py │ ├── Lv0_0000_프로그래머스_가장큰수찾기_구현_재호.py │ ├── Lv0_0000_프로그래머스_짝수는 싫어요_구현_선빈.py │ ├── Lv0_0000_프로그래머스_진료순서정하기_구현_재호.py │ ├── Lv0_0000_프로그래머스_369게임_구현_재호.py │ ├── Lv0_0000_프로그래머스_모음 제거_구현_선빈.py │ ├── Lv0_0000_프로그래머스_모음제거_구현_재호.py │ ├── Lv0_0000_프로그래머스_숨어있는숫자의덧셈(1)_구현_재호.py │ ├── Lv0_0000_프로그래머스_9로나눈나머지_구현_윤정.py │ ├── Lv0_0000_프로그래머스_숨어있는 숫자의 덧셈 (1)_구현_선빈.py │ ├── Lv0_0000_프로그래머스_팩토리얼_구현_재호.py │ ├── Lv0_0000_프로그래머스_각도기_구현_재호.py │ ├── Lv0_0000_프로그래머스_대문자와 소문자_구현_선빈.py │ ├── Lv0_0000_프로그래머스_문자열 섞기_구현_영조.py │ ├── Lv0_0000_프로그래머스_합성수찾기_구현_재호.py │ ├── Lv0_0000_프로그래머스_옷가게할인받기_구현_재호.py │ ├── Lv0_0000_프로그래머스_중복된 문자 제거_구현_선빈.py │ ├── Lv0_0000_프로그래머스_대문자와소문자_구현_재호.py │ ├── Lv0_0000_프로그래머스_가까운수_구현_재호.py │ ├── Lv0_0000_프로그래머스_점의위치구하기_구현_재호.py │ ├── Lv0_0000_프로그래머스_최댓값 만들기 (2)_구현_선빈.py │ ├── Lv0_0000_프로그래머스_합성수 찾기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_개미군단_그리디_재호.py │ ├── Lv0_0000_프로그래머스_중복된 문자 제거_구현_선빈.py │ ├── Lv0_0000_프로그래머스_배열회전시키기_구현_재호.py │ ├── Lv0_0000_프로그래머스_삼각형의 완성조건 (1)_구현_선빈.py │ ├── Lv0_0000_프로그래머스_커피 심부름_구현_성철.py │ ├── Lv0_0000_프로그래머스_가위바위보_구현_재호.py │ ├── Lv0_0000_프로그래머스_옷가게 할인받기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_옹알이 (1)_구현_성철.py │ ├── Lv0_0000_프로그래머스_인덱스 바꾸기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_외계행성의나이_구현_재호.py │ ├── Lv0_0000_프로그래머스_각도기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_짝수홀수개수_구현_재호.py │ ├── Lv0_0000_프로그래머스_짝수 홀수 개수_구현_선빈.py │ ├── Lv0_0000_프로그래머스_삼각형의완성조건(2)_구현_재호.py │ ├── Lv0_0000_프로그래머스_순서쌍의_개수_구현_재호.py │ ├── Lv0_0000_프로그래머스_컨트롤제트_구현_재호.py │ ├── Lv0_0000_프로그래머스_저주의 숫자 3_구현_성철.py │ ├── Lv0_0000_프로그래머스_배열 회전시키기_구현_선빈.py │ ├── Lv0_0000_프로그래머스_영어가싫어요_구현_재호.py │ ├── Lv0_0000_프로그래머스_외계행성의 나이_구현_선빈.py │ └── Lv0_0000_프로그래머스_모스부호(1)_구현_재호.py │ └── lv2 │ ├── Lv2_0000_프로그래머스_최댓값과최솟값_구현_재호.py │ ├── Lv2_0000_프로그래머스_다음 큰 숫자_구현_재영.py │ ├── Lv2_0000_프로그래머스_최댓값과 최솟값_구현_재영.py │ ├── Lv2_0000_프로그래머스_피보나치 수_구현_재영.py │ ├── Lv2_0000_프로그래머스_최솟값 만들기_스택큐_재영.py │ ├── Lv2_0000_프로그래머스_숫자의 표현_구현_재영.py │ ├── Lv2_0000_프로그래머스_JadenCase 문자열 만들기_구현_재영.py │ ├── Lv2_0000_프로그래머스_올바른괄호_스택큐_재호.py │ ├── Lv2_0000_프로그래머스_주식가격_스택큐_재영.py │ ├── Lv2_0000_프로그래머스_카펫_완전탐색_재영.py │ └── Lv2_0000_프로그래머스_올바른 괄호_스택큐_재영.py ├── .vscode └── settings.json ├── jsconfig.json ├── src ├── assets │ ├── images │ │ ├── rt.png │ │ ├── button.png │ │ ├── favicon.ico │ │ ├── github.png │ │ ├── ALGOVIEWlogo.png │ │ ├── ALGOVIEWlogo_dark.png │ │ ├── kakao_OG(800x400).jpg │ │ ├── twitter_OG(1200x630).jpg │ │ ├── reference │ │ │ └── youtube │ │ │ │ ├── coohde.jpg │ │ │ │ ├── kimbug.jpg │ │ │ │ ├── dongbinna.jpg │ │ │ │ ├── jocoding.jpg │ │ │ │ ├── joonion.jpg │ │ │ │ ├── lamedev.jpg │ │ │ │ ├── leftykhim.jpg │ │ │ │ ├── sentdex.jpg │ │ │ │ ├── todaycode.jpg │ │ │ │ ├── veamcamp.jpg │ │ │ │ ├── woowatech.jpg │ │ │ │ ├── boanproject.jpg │ │ │ │ ├── codingmoon.jpg │ │ │ │ ├── codingtest.jpg │ │ │ │ ├── dreamcoding.jpg │ │ │ │ ├── gotocoding.jpg │ │ │ │ ├── jazzleboff.jpg │ │ │ │ ├── nomadcoders.jpg │ │ │ │ ├── pythonclass.jpg │ │ │ │ ├── studiomeal.jpg │ │ │ │ ├── askcompany444.jpg │ │ │ │ ├── rockseasyweb.jpg │ │ │ │ ├── yalco-coding.jpg │ │ │ │ ├── SKplanetTacademy.jpg │ │ │ │ ├── leesuancomputer.jpg │ │ │ │ ├── innovationacademy.jpg │ │ │ │ └── jejucodingbasecamp.jpg │ │ ├── arrow-button.svg │ │ ├── btn-top.svg │ │ └── btn-top_dark.svg │ └── fonts │ │ └── font.css └── js │ └── store.js ├── .prettierrc.json ├── dataAnalysis ├── notebook │ └── visualize_data │ │ └── __init__.py ├── problem_type_list.txt └── macro │ └── cnt_data │ └── __init__.py └── .gitignore /CNAME: -------------------------------------------------------------------------------- 1 | algoview.co.kr -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_약수의 합_구현_하은.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_2018_카카오_[1차] 비밀지도_구현_재영.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_2018_프로그래머스_예산_구현_재영.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_3진법 뒤집기_구현_재영.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_같은 숫자는 싫어_구현_재영.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_문자열 다루기 기본_구현_재영.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_문자열 내림차순으로 배치하기_구현_재영.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_세균증식_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n, t): 2 | return 2 ** t * n -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_문자열을정수로바꾸기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | return int(s) -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_나이출력_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(age): 2 | return 2022 - age + 1 -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_편지_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(message): 2 | return len(message) * 2 -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_문자열을정수로바꾸기_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | return ~~s; 3 | } 4 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_문자열뒤집기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(my_string): 2 | return my_string[::-1] -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_중복된숫자개수_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(array, n): 2 | return array.count(n) -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_짝수의합_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return sum(range(0, n+1, 2)) -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_편지_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(message): 2 | return len(message) * 2 3 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_피자나눠먹기(1)_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return (n - 1) // 7 + 1 -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_평균 구하기_구현_성철.py: -------------------------------------------------------------------------------- 1 | def solution(arr): 2 | return sum(arr) / len(arr) -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_평균구하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(arr): 2 | return sum(arr) / len(arr) -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_문자열을 정수로 바꾸기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | return Number(s); 3 | } -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_배열 뒤집기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(num_list): 2 | return num_list.reverse() -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_배열의유사도_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(s1, s2): 2 | return len(set(s1) & set(s2)) -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": true, 3 | "liveServer.settings.port": 5504 4 | } 5 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_두 수의 합_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(num1, num2) { 2 | return num1 + num2; 3 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_편지_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(message) { 2 | return message.length * 2; 3 | } -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_배열의 유사도_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(s1, s2): 2 | return len(set(s1) & set(s2)) 3 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_배열의평균값_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(numbers): 2 | return sum(numbers) / len(numbers) -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_짝수는싫어요_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return [i for i in range(1, n+1, 2)] -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_자릿수더하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return sum([int(i) for i in str(n)]) -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_백준_고양이_구현_혜연.js: -------------------------------------------------------------------------------- 1 | const cat = 2 | `\\ /\\ 3 | ) ( ') 4 | ( / ) 5 | \\(__)| 6 | `; 7 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_세균 증식_구현_가람.js: -------------------------------------------------------------------------------- 1 | function solution(n, t) { 2 | return n * Math.pow(2, t); 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv0/lv0_0000_프로그래머스_종이 자르기_구현_하은.js: -------------------------------------------------------------------------------- 1 | function solution(M, N) { 2 | return answer = (M * N)-1; 3 | } -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_문자열을 정수로 바꾸기_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | answer = int(s) 3 | return answer -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_짝수와 홀수_구현_성철.py: -------------------------------------------------------------------------------- 1 | def solution(num): 2 | return "Odd" if num % 2 != 0 else "Even" -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "src" 4 | }, 5 | "include": ["src"] 6 | } 7 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_치킨쿠폰_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(chicken) { 2 | return ~~(chicken*0.111111) 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_편지_구현_하은.js: -------------------------------------------------------------------------------- 1 | function solution(message) { 2 | return answer= (message.length)*2; 3 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_짝수와 홀수_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(num) { 2 | return num % 2 ? "Odd" : "Even"; 3 | } 4 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_공던지기_구현_윤정.py: -------------------------------------------------------------------------------- 1 | def solution(numbers, k): 2 | return numbers[2 * (k - 1) % len(numbers)] -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_배열 두 배 만들기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(numbers): 2 | return [i * 2 for i in numbers] 3 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_배열 원소의 길이_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(strlist): 2 | return [len(i) for i in strlist] 3 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_배열뒤집기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(num_list): 2 | num_list.reverse() 3 | return num_list -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_배열의 평균값_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(numbers): 2 | return sum(numbers) / len(numbers) 3 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_약수구하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return [i for i in range(1, n+1) if n % i == 0] -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_중복된문자제거_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(my_string): 2 | return ''.join(dict.fromkeys(my_string)) -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_직각삼각형출력하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | 3 | for i in range(1, n+1): 4 | print('*'*i) -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_피자나눠먹기(3)_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(slice, n): 2 | return (n // slice) + (n % slice != 0) -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_x만큼간격이있는n개의숫자_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(x, n): 2 | return [x * i for i in range(1, n + 1)] -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_자연수뒤집어배열로만들기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return [int(i) for i in reversed(str(n))] -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_문자리스트를문자열로변환하기_구현_예지.js: -------------------------------------------------------------------------------- 1 | function solution(arr) { 2 | return [...arr].join(''); 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_문자열곱하기_구현_예지.js: -------------------------------------------------------------------------------- 1 | function solution(my_string, k) { 2 | return my_string.repeat(k); 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_배열 두배 만들기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(numbers) { 2 | return numbers.map(n => n * 2); 3 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_숫자 비교하기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(num1, num2) { 2 | return num1 === num2 ? 1 : -1 3 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_제곱수 판별하기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | return Math.sqrt(n) % 1 === 0 ? 1 : 2 3 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_문자열다루기기본_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | return /^\d{6}$|^\d{4}$/.test(s) 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_짝수와 홀수_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(num) { 2 | return num % 2 === 0 ? "Even" : "Odd" 3 | } -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_문자반복출력하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(my_string, n): 2 | return ''.join(i*n for i in my_string) -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_문자열정렬하기(2)_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(my_string): 2 | return ''.join(sorted(my_string.lower())) -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_특정문자제거하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(my_string, letter): 2 | return my_string.replace(letter,'') -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_나머지가1이되는수찾기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return min([i for i in range(1, n) if n % i == 1]) -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_문자열을 정수로 바꾸기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | answer = int(s) 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_문자열 안에 문자열_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(str1, str2) { 2 | return str1.includes(str2) ? 1 : 2; 3 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_배열 뒤집기_구현_하은.js: -------------------------------------------------------------------------------- 1 | function solution(num_list) { 2 | return answer = [...num_list].reverse() 3 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_숫자 찾기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(num, k) { 2 | return String(num).indexOf(k) + 1 || -1; 3 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_양꼬치_하은.js: -------------------------------------------------------------------------------- 1 | function solution(n, k) { 2 | return n*12000 + k*2000 - Math.floor(n/10)*2000; 3 | } -------------------------------------------------------------------------------- /data/js/lv0/lv0_0000_프로그래머스_피자 나눠 먹기 (3)_구현_사라.js: -------------------------------------------------------------------------------- 1 | function solution(slice, n) { 2 | return Math.ceil(n / slice); 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_같은숫자는싫어_스택큐_혜민.js: -------------------------------------------------------------------------------- 1 | function solution(arr){ 2 | return arr.filter((v,i) => v != arr[i+1]); 3 | } -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_문자 반복 출력하기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(my_string, n): 2 | return ''.join(i * n for i in my_string) 3 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_주사위의개수_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(box, n): 2 | return (box[0] // n) * (box[1] // n) * (box[2] // n) -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_직각삼각형 출력하기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | 3 | for i in range(1, n + 1): 4 | print('*' * i) 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_최댓값만들기(1)_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(numbers): 2 | return sorted(numbers)[-1] * sorted(numbers)[-2] -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_피자 나눠 먹기 (1)_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = (n - 1) // 7 + 1 3 | return answer 4 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_자릿수더하기_구현_재혁.py: -------------------------------------------------------------------------------- 1 | def solution(N): 2 | answer = [int(i) for i in str(N)] 3 | return sum(answer) -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_정수내림차순으로배치하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return int(''.join(sorted(str(n), reverse = True))) -------------------------------------------------------------------------------- /src/assets/images/rt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/rt.png -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_369게임_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(order) { 2 | return (''+order).split(/[369]/).length - 1 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_모음제거_구현_태희.js: -------------------------------------------------------------------------------- 1 | function solution(my_string){ 2 | return my_string.replaceAll(/[aeiou]/g,""); 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_문자열안에문자열_구현_지현.js: -------------------------------------------------------------------------------- 1 | function solution(str1, str2) { 2 | return str1.includes(str2)==1?1:2 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_아이스아메리카노_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(money) { 2 | return [Math.floor(money / 5500), money % 5500] 3 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_주사위의개수_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(box, n) { 2 | return box.reduce((a,c) => a * ~~(c/n), 1) 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv0/lv0_0000_프로그래머스_7의 개수_구현_사라.js: -------------------------------------------------------------------------------- 1 | function solution(array) { 2 | return array.join('').split('7').length - 1; 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_문자열 내림차순으로 배치하기_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | return [...s].sort().reverse().join(""); 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_문자열내림차순으로배치하기_정렬_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | return [...s].sort().reverse().join('') 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_문자열내림차순으로배치하기_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | return s.split('').sort().reverse().join(''); 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_서울에서김서방찾기_구현_준영.js: -------------------------------------------------------------------------------- 1 | function solution(seoul) { 2 | return `김서방은 ${seoul.indexOf("Kim")}에 있다` 3 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_서울에서김서방찾기_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(seoul) { 2 | return `김서방은 ${seoul.indexOf('Kim')}에 있다`; 3 | } 4 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_나머지 구하기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(num1, num2): 2 | answer = num1 % num2 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_나이 출력_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(age): 2 | birth_year = 2022 - age + 1 3 | 4 | return birth_year 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_두 수의 곱_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(num1, num2): 2 | answer = num1 * num2 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_두 수의 합_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(num1, num2): 2 | answer = num1 + num2 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_몫 구하기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(num1, num2): 2 | answer = num1 // num2 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_문자열 뒤집기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(my_string): 2 | answer = my_string[::-1] 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_세균 증식_구현_성철.py: -------------------------------------------------------------------------------- 1 | def solution(n, t): 2 | for _ in range(t): 3 | n *= 2 4 | return n 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_주사위의 개수_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(box, n): 2 | return (box[0] // n) * (box[1] // n) * box[2] // n 3 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_중복된 숫자 개수_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(array, n): 2 | answer = array.count(n) 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_중앙값 구하기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(array): 2 | array.sort() 3 | 4 | return array[len(array) // 2] 5 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_없는숫자더하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(numbers): 2 | return sum([i for i in range(10) if i not in numbers]) -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_자릿수 더하기_구현_성철.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | n = list(str(n)) 3 | return sum([int(val) for val in n]) -------------------------------------------------------------------------------- /src/assets/fonts/font.css: -------------------------------------------------------------------------------- 1 | @import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.7/dist/web/static/pretendard.css"); -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_n의 배수 고르기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(n, numlist) { 2 | return numlist.filter((el) => el % n === 0) 3 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_배열의 유사도_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(s1, s2) { 2 | return s1.filter((v, i) => s2.includes(v)).length; 3 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_제곱수_판별하기_구현_윤석.js: -------------------------------------------------------------------------------- 1 | const solution = (n) => { 2 | return parseInt(Math.sqrt(n)) ** 2 === n ? 1 : 2; 3 | }; 4 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_같은숫자는싫어_스택큐_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(arr) { 2 | return arr.filter((v,i) => arr[i-1] !== v) 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_자연수 뒤집어 배열로 만들기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | return (n + '').split('').map(Number).reverse(); 3 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_정수 내림차순으로 배치하기_구현_재영.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | return (n+'').split('').sort().reverse().join('')*1; 3 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_2020_프로그래머스_3진법뒤집기_구현_하연.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | return parseInt([...n.toString(3)].reverse().join(''), 3); 3 | } -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_머쓱이보다 키 큰 사람_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(array, height): 2 | 3 | return len([i for i in array if i > height]) -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_문자열정렬하기(1)_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(my_string): 2 | return sorted([int(i) for i in my_string if i.isdigit()]) -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_잘라서 배열로 저장하기_구현_성철.py: -------------------------------------------------------------------------------- 1 | import re 2 | 3 | solution = lambda my_str, n: re.findall(f'(.{{1,{n}}})', my_str) 4 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_자연수 뒤집어 배열로 만들기_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = list(map(int,str(n)[::-1])) 3 | return answer -------------------------------------------------------------------------------- /src/assets/images/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/button.png -------------------------------------------------------------------------------- /src/assets/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/favicon.ico -------------------------------------------------------------------------------- /src/assets/images/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/github.png -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_문자열섞기_구현_예지.js: -------------------------------------------------------------------------------- 1 | function solution(str1, str2) { 2 | return [...str1].map((a, i) => a+str2[i]).join("") 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_내적_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(a, b) { 2 | return a.reduce((sum, num, index) => sum + num * b[index], 0); 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_짝수와 홀수_구현_재영.js: -------------------------------------------------------------------------------- 1 | function solution(num) { 2 | var answer = num%2!==0 ? 'Odd' : 'Even'; 3 | return answer; 4 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_짝수와홀수_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(num) { 2 | if (num % 2 === 0) return 'Even'; 3 | else return 'Odd'; 4 | } 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_n의배수고르기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n, numlist): 2 | result = [i for i in numlist if i%n==0] 3 | return result -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_암호해독_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(cipher, code): 2 | return ''.join(cipher[i] for i in range(code-1,len(cipher), code)) -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_서울에서김서방찾기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(seoul): 2 | position = seoul.index('Kim') 3 | return f'김서방은 {position}에 있다' -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_OX퀴즈_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(quiz) { 2 | return quiz.map(i => eval(i.replace('=', '===')) ? 'O' : 'X') 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_피자 나눠먹기(1)_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | return n % 7 === 0 ? Math.floor(n / 7) : Math.floor(n / 7) + 1 3 | } -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_개미 군단_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(hp): 2 | total = (hp // 5) + (hp % 5 // 3) + (hp % 5 % 3) 3 | 4 | return total 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_두 수의 나눗셈_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(num1, num2): 2 | answer = int((num1 / num2) * 1000) 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_아이스 아메리카노_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(money): 2 | answer = [money // 5500, money % 5500] 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_중앙값구하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(array): 2 | array.sort() 3 | answer = (len(array) // 2) 4 | return array[answer] -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_직사각형_별찍기_구현_재호.py: -------------------------------------------------------------------------------- 1 | a, b = map(int, input().strip().split(' ')) 2 | a = '*' * a 3 | for i in range(b): 4 | print(a) -------------------------------------------------------------------------------- /src/assets/images/ALGOVIEWlogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/ALGOVIEWlogo.png -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 2, 3 | "singleQuote": true, 4 | "semi": true, 5 | "printWidth": 80, 6 | "trailingComma": "es5" 7 | } 8 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_가장큰수찾기_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(array) { 2 | return [Math.max(...array), array.indexOf(Math.max(...array))] 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_문자열정렬하기(2)_구현_지현.js: -------------------------------------------------------------------------------- 1 | function solution(my_string) { 2 | return my_string.toLowerCase().split('').sort().join('') 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_배열자르기_구현_하은.js: -------------------------------------------------------------------------------- 1 | function solution(numbers, num1, num2) { 2 | return answer = numbers.slice(num1,num2+1); 3 | 4 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_자릿수 더하기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(n){ 2 | return (n + '').split("").reduce((a, c) => parseInt(a) + parseInt(c), 0); 3 | } -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_가위 바위 보_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(rsp): 2 | d = {'0': '5', '2': '0', '5': '2'} 3 | return ''.join(d[i] for i in rsp) 4 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_가장 큰 수 찾기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(array): 2 | answer = [max(array), array.index(max(array))] 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_문자열안에문자열_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(str1, str2): 2 | if str2 in str1: 3 | return 1 4 | else: 5 | return 2 -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_배열 자르기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(numbers, num1, num2): 2 | answer = numbers[num1:num2 + 1] 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_숫자비교하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(num1, num2): 2 | if num1 == num2: 3 | return 1 4 | else: 5 | return -1 -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_약수 구하기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = [i for i in range(1, n + 1) if n % i == 0] 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_제곱수판별하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | if n**0.5 == int(n**0.5): 3 | return 1 4 | else: 5 | return 2 -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_나머지가 1이 되는 수 찾기_구현_성철.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | keep = n 3 | return min([val for val in range(1, n) if keep % val == 1]) -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_자연수 뒤집어 배열로 만들기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = list(map(int, list(str(n))[::-1])) 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_짝수와홀수_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(num): 2 | if num % 2 == 0: 3 | return 'Even' 4 | else: 5 | return 'Odd' -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_평균 구하기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(arr): 2 | hap = sum(arr) 3 | answer = hap / len(arr) 4 | 5 | return answer 6 | 7 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_홀수와짝수_구현_재혁.py: -------------------------------------------------------------------------------- 1 | def solution(num): 2 | if num % 2 == 0: 3 | return 'Even' 4 | else: 5 | return 'Odd' -------------------------------------------------------------------------------- /dataAnalysis/notebook/visualize_data/__init__.py: -------------------------------------------------------------------------------- 1 | from ._json_to_dataframe import json_to_dataframe 2 | from ._get_description import description_to_dict -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_최댓값 만들기(1)_구현_하은.js: -------------------------------------------------------------------------------- 1 | function solution(numbers) { 2 | numbers.sort((a,b) => b-a); 3 | return numbers[0] * numbers[1] 4 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_이상한문자만들기_구현_하연.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | return s.toUpperCase().replace(/\w{2}/g, v => v[0] + v[1].toLowerCase()) 3 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_정수 내림차순으로 배치하기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | return +(n + '').split("").map(Number).sort((a,b) => b - a).join(""); 3 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_평균 구하기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(arr) { 2 | let answer = arr.reduce((a, c) => a + c); 3 | return answer / arr.length; 4 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_평균 구하기_구현_재영.js: -------------------------------------------------------------------------------- 1 | function solution(arr) { 2 | var answer = arr.reduce((acc,cur)=>acc+cur,0)/arr.length; 3 | return answer; 4 | } -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_n의 배수 고르기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n, numlist): 2 | answer = [i for i in numlist if i % n == 0] 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_문자열 정렬하기 (2)_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(my_string): 2 | answer = ''.join(sorted(my_string.lower())) 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_문자열안에 문자열_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(str1, str2): 2 | if str2 in str1: 3 | return 1 4 | else: 5 | return 2 6 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_숫자 비교하기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(num1, num2): 2 | if num1 == num2: 3 | return 1 4 | else: 5 | return -1 6 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_특정 문자 제거하기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(my_string, letter): 2 | answer = my_string.replace(letter, '') 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /src/assets/images/ALGOVIEWlogo_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/ALGOVIEWlogo_dark.png -------------------------------------------------------------------------------- /src/assets/images/kakao_OG(800x400).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/kakao_OG(800x400).jpg -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_뒤에서 5등까지_구현_수정.js: -------------------------------------------------------------------------------- 1 | function solution(num_list) { 2 | num_list.sort((a, b) => a - b); 3 | 4 | return num_list.slice(0, 5); 5 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_369게임_구현_하은.js: -------------------------------------------------------------------------------- 1 | function solution(order) { 2 | let value = order.toString().match(/[369]/g) ?? [] 3 | return value.length; 4 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_문자열 내림차순으로 배치하기_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | return [...s].sort().reverse().join(""); 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_나머지가1이되는수찾기_구현_승지.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | for (let i = 2; i < n; i++) { 3 | if (n % i === 1) return i; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_서울에서 김서방 찾기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(seoul) { 2 | let location = seoul.indexOf('Kim'); 3 | return `김서방은 ${location}에 있다` 4 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_제일작은수제거하기_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(arr) { 2 | return arr.length < 2 ? [-1] : arr.filter(i => i !== Math.min(...arr)) 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_핸드폰번호가리기_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(phone_number) { 2 | return '*'.repeat(phone_number.length - 4) + phone_number.slice(-4); 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_H-Index_정렬_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(citations) { 2 | return citations.sort((a,b) => b-a).filter((v,i) => v >= i+1).length 3 | } 4 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_세균 증식_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n, t): 2 | answer = n 3 | for i in range(t): 4 | answer *= 2 5 | 6 | return answer 7 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_자릿수 더하기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = 0 3 | for i in str(n): 4 | answer += int(i) 5 | return answer 6 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_특별한 이차원 배열 1_구현_성철.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = [[1 if i == j else 0 for j in range(n)] for i in range(n)] 3 | return answer -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_월간코드챌린지시즌3_나머지가 1이 되는 수 찾기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | for i in range(1, n+1): 3 | if n % i == 1: 4 | return i 5 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_외계행성의 나이_구현_태희.js: -------------------------------------------------------------------------------- 1 | function solution (age) { 2 | return String(age).split("").map(Number).reduce((a,b) => a+= arr[b], "") 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_자릿수 더하기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let answer = String(n).split("").reduce((a,c) => a + c * 1, 0) 3 | return answer; 4 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_잘라서 배열로 저장하기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(my_str, n) { 2 | let reg = new RegExp(`.{1,${n}}`, 'g') 3 | return my_str.match(reg) 4 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_특이한 정렬_구현_의호.js: -------------------------------------------------------------------------------- 1 | function solution(numlist, n) { 2 | return numlist.sort((a, b) => Math.abs(a - n) - Math.abs(b - n) || b - a); 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_최댓값과최솟값_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | const arr = s.split(' ') 3 | return `${Math.min(...arr)} ${Math.max(...arr)}`; 4 | } 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_배열원소의길이_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(strlist): 2 | answer = [] 3 | for i in strlist: 4 | answer.append(len(i)) 5 | return answer -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_아이스아메리카노_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(money): 2 | cup = money // 5500 3 | change = money % 5500 4 | 5 | return [cup, change] -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_양꼬치_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n, k): 2 | service = n // 10 3 | answer = 12000 * n + 2000 * (k - service) 4 | 5 | return answer 6 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_자릿수더하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | result = 0 3 | for i in str(n): 4 | result += int(i) 5 | 6 | return result -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_제곱수 판별하기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | if n ** (1 / 2) == int(n ** (1 / 2)): 3 | return 1 4 | else: 5 | return 2 6 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_서울에서 김서방 찾기_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(seoul): 2 | answer = '' 3 | answer = '김서방은 '+str(seoul.index('Kim'))+'에 있다' 4 | return answer -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_정수제곱근판별_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | if n**0.5 == int(n**0.5): 3 | return (n**0.5 + 1) ** 2 4 | else: 5 | return -1 -------------------------------------------------------------------------------- /src/assets/images/twitter_OG(1200x630).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/twitter_OG(1200x630).jpg -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_배열의 유사도_구현_태희.js: -------------------------------------------------------------------------------- 1 | function solution(s1, s2){ 2 | const checkArr = s1.filter(el => s2.includes(el)); 3 | return checkArr.length 4 | } 5 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_삼각형의완성조건(1)_구현_상용.js: -------------------------------------------------------------------------------- 1 | function solution(sides) { 2 | sides.sort((a,b) => b-a); 3 | return sides[0] < sides[1] + sides[2] ? 1 : 2; 4 | } 5 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_연속된수의합_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(num, total) { 2 | return Array.from({length: num}, (v,i) => Math.ceil(total/num) - ~~(num/2) + i) 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_저주의숫자3_다이나믹_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | return Array.from({length: n*3}, (_,i) => i).filter(i => i%3 && !(/3/.test(i)))[n-1] 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_편지_구현_태희.js: -------------------------------------------------------------------------------- 1 | function solution(message){ 2 | let result = message.match(/[a-zA-Z~! ]/g).join(""); 3 | return result.length * 2; 4 | } 5 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_정수제곱근판별_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | if (Number.isInteger(Math.sqrt(n))) return Math.pow(Math.sqrt(n) + 1, 2); 3 | return -1; 4 | } 5 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_평균구하기_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(arr) { 2 | const len = arr.length; 3 | arr = arr.reduce((a, b) => a + b); 4 | return arr / len; 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_행렬의덧셈_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(arr1, arr2) { 2 | return arr1.map((outer, oi) => outer.map((inner, ii) => inner + arr2[oi][ii])) 3 | } 4 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_369 게임_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(order): 2 | order = str(order) 3 | 4 | return order.count('3') + order.count('6') + order.count('9') 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_문자열 정렬하기 (1)_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(my_string): 2 | answer = sorted([int(c) for c in my_string if c.isdigit()]) 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_배열두배만들기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(numbers): 2 | result = [] 3 | for num in numbers: 4 | result.append(num * 2) 5 | return result -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_양꼬치_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n, k): 2 | result = 12000*n + 2000*k 3 | if n >= 10: 4 | result -= 2000*(n // 10) 5 | return result -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_짝수의 합_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | result = 0 3 | for i in range(0, n + 1, 2): 4 | result += i 5 | 6 | return result 7 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_최댓값 만들기 (1)_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(numbers): 2 | numbers.sort() 3 | 4 | answer = numbers[-1] * numbers[-2] 5 | 6 | return answer 7 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_피자 나눠 먹기 (2)_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | pizza = 6 3 | while pizza % n != 0: 4 | pizza += 6 5 | 6 | return pizza / 6 7 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_피자나눠먹기(2)_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | for i in range(1, n+1): 3 | if 6 * i % n == 0: 4 | return i 5 | break -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_자릿수 더하기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = 0 3 | 4 | for i in str(n): 5 | answer += int(i) 6 | 7 | return answer 8 | -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/coohde.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/coohde.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/kimbug.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/kimbug.jpg -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_369게임_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(order) { 2 | return order.toString().split("").filter((v) => v === "3" || v === "6" || v === "9").length 3 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_A로 B 만들기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(before, after) { 2 | return before.split("").sort().join("") === after.split("").sort().join("") ? 1 : 0 3 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_삼격형의 완성조건(1)_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(sides) { 2 | const arr = sides.sort((a, b) => a - b) 3 | return arr[0] + arr[1] > arr[2] ? 1 : 2 4 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_암호 해독_구현_가람.js: -------------------------------------------------------------------------------- 1 | function solution(cipher, code) { 2 | return cipher.split('').filter((_, index) => (index + 1) % code === 0).join(''); 3 | } 4 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_팩토리얼_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | for(let i=1, m=1; true; ++i) { 3 | if(m > n) return i-2 4 | m *= i 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /data/js/lv0/lv0_0000_프로그래머스_중복된 문자 제거_구현_사라.js: -------------------------------------------------------------------------------- 1 | function solution(my_string) { 2 | const newSet = new Set(my_string); 3 | return Array.from(newSet).join(''); 4 | } 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_숫자찾기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(num, k): 2 | if str(k) in str(num): 3 | return str(num).find(str(k)) + 1 4 | else : 5 | return -1 -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_내적_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(a, b): 2 | answer = 1234567890 3 | 4 | answer = sum([i*j for i,j in zip(a,b)]) 5 | 6 | return answer -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_내적_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(a, b): 2 | result = 0 3 | for i in range(len(a)): 4 | result += a[i] * b[i] 5 | 6 | return result -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_두 정수 사이의 합_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(a, b): 2 | answer = (a+b)//2*(abs(b-a)+1) if (a+b)%2==0 else (a+b)*(abs(b-a)+1)//2 3 | 4 | return answer -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_정수 내림차순으로 배치하기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = int(''.join(map(str, sorted(list(str(n)), reverse=True)))) 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_제일작은수제거하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(arr): 2 | arr.remove(min(arr)) 3 | if arr == []: 4 | return [-1] 5 | else: 6 | return arr -------------------------------------------------------------------------------- /data/py/lv2/Lv2_0000_프로그래머스_최댓값과최솟값_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | s = s.split() 3 | s = [int(i) for i in s] 4 | 5 | return ' '.join([str(min(s)), str(max(s))]) -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/dongbinna.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/dongbinna.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/jocoding.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/jocoding.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/joonion.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/joonion.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/lamedev.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/lamedev.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/leftykhim.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/leftykhim.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/sentdex.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/sentdex.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/todaycode.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/todaycode.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/veamcamp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/veamcamp.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/woowatech.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/woowatech.jpg -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_삼각형의 완성조건(1)_구현_가람.js: -------------------------------------------------------------------------------- 1 | function solution(sides) { 2 | sides.sort((a, b) => a - b); 3 | 4 | return sides[2] < sides[0] + sides[1] ? 1 : 2; 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_수열과구간쿼리3_정렬_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(arr, queries) { 2 | queries.forEach(([i,j]) => [arr[i], arr[j]] = [arr[j], arr[i]]) 3 | return arr 4 | } 5 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_중앙값_구하기_구현_태희.js: -------------------------------------------------------------------------------- 1 | function solution(array) { 2 | const newArr = array.sort((a,b) => a - b); 3 | return newArr[Math.floor(newArr.length/2)]; 4 | } 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_문자열 정렬하기 (2)_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(my_string): 2 | answer = ''.join(sorted(my_string.lower())) 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_약수의 합_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = sum([i for i in range(1, n + 1) if n % i == 0]) 3 | 4 | return answer 5 | 6 | 7 | solution(12) 8 | -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/boanproject.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/boanproject.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/codingmoon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/codingmoon.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/codingtest.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/codingtest.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/dreamcoding.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/dreamcoding.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/gotocoding.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/gotocoding.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/jazzleboff.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/jazzleboff.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/nomadcoders.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/nomadcoders.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/pythonclass.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/pythonclass.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/studiomeal.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/studiomeal.jpg -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_진료순서 정하기_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(emergency) { 2 | let arr = [...emergency].sort((a,b)=>b-a) 3 | return emergency.map(v => arr.indexOf(v)+1) 4 | } 5 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_문자열 내 p와 y의 개수_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | return ( 3 | s.toUpperCase().split("P").length === s.toUpperCase().split("Y").length 4 | ); 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_문자열다루기기본_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | const regex = /[a-zA-Z]/g; 3 | 4 | return !regex.test(s) ? s.length === 4 || s.length === 6 : false; 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_자연수뒤집어배열로만들기_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | return n 3 | .toString() 4 | .split('') 5 | .reverse() 6 | .map(x => parseInt(x)); 7 | } 8 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_월간코드챌린지시즌3_없는 숫자 더하기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(numbers): 2 | answer = sum([i for i in [i for i in range(0, 10)] if i not in numbers]) 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_서울에서 김서방 찾기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(seoul): 2 | index_of_kim = seoul.index("ㅏim") 3 | answer = f"김서방은 {index_of_kim}에 있다" 4 | 5 | return answer 6 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_약수의 합_구현_영조.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | l = 0 3 | for i in range(1, (int(n/2)+1)): 4 | if n % i == 0: 5 | l += i 6 | return l + n -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_제일 작은 수 제거하기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(arr): 2 | arr.pop(arr.index(min(arr))) 3 | 4 | answer = [-1] if arr == [] else arr 5 | 6 | return answer 7 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_짝수와 홀수_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(num): 2 | if num % 2 == 0: 3 | answer = "Even" 4 | else: 5 | answer = "Odd" 6 | 7 | return answer 8 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_핸드폰 번호 가리기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | import re 2 | 3 | 4 | def solution(phone_number): 5 | answer = re.sub(r".(?=\d{4})", "*", phone_number) 6 | 7 | return answer 8 | -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/askcompany444.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/askcompany444.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/rockseasyweb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/rockseasyweb.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/yalco-coding.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/yalco-coding.jpg -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_숨어있는숫자의덧셈(2)_구현_상용.js: -------------------------------------------------------------------------------- 1 | function solution(my_string) { 2 | return (my_string.match(/\d+/g) ?? []) 3 | .reduce((a, b) => parseInt(a) + parseInt(b), 0) 4 | } 5 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_짝수는 싫어요_구현_태희.js: -------------------------------------------------------------------------------- 1 | function solution (n) { 2 | let arr = []; 3 | for(let i = 1; i <= n; i+=2){ 4 | arr.push(i); 5 | } 6 | return arr; 7 | } 8 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_자릿수더하기_구현_준영.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | return n 3 | .toString() 4 | .split("") 5 | .reduce((ac, cu) => parseInt(ac) + parseInt(cu), 0); 6 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_자연수뒤집어배열로만들기_스택큐_준영.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | return n 3 | .toString() 4 | .split("") 5 | .map((el) => parseInt(el)) 6 | .reverse(); 7 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_하샤드 수_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(x) { 2 | let add = x.toString().split("").map(Number).reduce((a, c) => a + c); 3 | return x % add === 0 ? true : false; 4 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_하샤드 수_구현_재영.js: -------------------------------------------------------------------------------- 1 | function solution(x) { 2 | var answer = true; 3 | 4 | pivot = (x+'').split('').reduce((acc,cur)=>acc+cur*1,0) 5 | return !(x%pivot); 6 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_핸드폰 번호 가리기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(phone_number) { 2 | let numArr = phone_number.split(""); 3 | return numArr.fill("*", 0, numArr.length - 4).join("") 4 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_핸드폰 번호 가리기_구현_재영.js: -------------------------------------------------------------------------------- 1 | function solution(x, n) { 2 | var answer = []; 3 | 4 | for(let i=1;i<=n;i++){ 5 | answer.push(x*i) 6 | } 7 | return answer; 8 | } -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_삼각형의완성조건(1)_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(sides): 2 | sides.sort() 3 | if sides[-1] < sides[0] + sides[1]: 4 | return 1 5 | else: 6 | return 2 -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_피자 나눠 먹기 (3)_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(slice, n): 2 | 3 | if n % slice != 0: 4 | return (n // slice) + 1 5 | else: 6 | return n // slice 7 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_핸드폰번호가리기_구현_재호.py: -------------------------------------------------------------------------------- 1 | import re 2 | 3 | def solution(phone_number): 4 | number = re.sub('[0-9]', '*', phone_number[:-4]) 5 | return number + phone_number[-4:] -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/SKplanetTacademy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/SKplanetTacademy.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/leesuancomputer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/leesuancomputer.jpg -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # python compiled 2 | __pycache__/ 3 | 4 | # mac DS_Store 5 | .DS_Store 6 | 7 | # ipynb checkpoints 8 | .ipynb_checkpoints 9 | 10 | # 데이터수집 test 11 | dataAnalysis/macro/test/ -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_자릿수더하기_구현_지현.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let answer = 0; 3 | let array = n.toString().split('') 4 | return array.reduce((acc,cur)=>acc+Number(cur),0) 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_A로B만들기_구현_승지.js: -------------------------------------------------------------------------------- 1 | function solution(before, after) { 2 | return before.split("").sort().join("") === after.split("").sort().join("") 3 | ? 1 4 | : 0; 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_암호 해독_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(cipher, code) { 2 | var answer = cipher.split('').filter((v, i) => (i + 1) % code === 0).join(''); 3 | return answer; 4 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_진료 순서 정하기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(emergency) { 2 | let sort = [...emergency].sort((a, b) => b - a); 3 | return emergency.map((v) => sort.indexOf(v) + 1); 4 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_특정 문자 제거하기_구현_재영.js: -------------------------------------------------------------------------------- 1 | function solution(my_string, letter) { 2 | var answer = ''; 3 | 4 | answer = my_string.split(letter).join('') 5 | 6 | return answer 7 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_x만큼간격이있는n개의숫자_스택큐_준영.js: -------------------------------------------------------------------------------- 1 | function solution(x, n) { 2 | const arr = []; 3 | for (let i = 1; i <= n; i++) { 4 | arr.push(x * i); 5 | } 6 | return arr; 7 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_완주하지못한선수_해시_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(participant, completion) { 2 | completion.sort() 3 | return participant.sort().find((v,i) => v !== completion[i]) 4 | } 5 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_폰켓몬_해시_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(nums) { 2 | const set = new Set(nums) 3 | return set.size >= nums.length/2 4 | ? nums.length/2 5 | : set.size 6 | } 7 | -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_최댓값과최솟값_구현_하은.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | s = s.split(" ") 3 | let max = Math.max(...s) 4 | let min = Math.min(...s) 5 | return min+" "+max; 6 | } 7 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_머쓱이보다키큰사람_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(array, height): 2 | num = 0 3 | 4 | for i in array: 5 | if i > height: 6 | num += 1 7 | 8 | return num -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_숫자 찾기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(num, k): 2 | num = str(num) 3 | k = str(k) 4 | 5 | answer = num.find(k) + 1 6 | 7 | return answer if answer != 0 else -1 8 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_약수의 합_구현_성철.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | keep = n 3 | 4 | answer = [i for i in range(1, n + 1) for j in range(1, n + 1) if i * j == keep] 5 | return sum(answer) -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_약수의합_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = [] 3 | for i in range(1, n+1): 4 | if n % i == 0: 5 | answer.append(i) 6 | return sum(answer) -------------------------------------------------------------------------------- /dataAnalysis/problem_type_list.txt: -------------------------------------------------------------------------------- 1 | 알고리즘 데이터의 문제 유형 리스트입니다. 2 | 3 | 구현 4 | 해시 5 | 스택큐 6 | DFSBFS 7 | 힙 8 | 완전탐색 9 | 그리디 10 | 다이나믹 11 | 트리 12 | 그래프 13 | 투포인터슬라이딩윈도우 14 | 집합 15 | 비트연산 16 | -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/innovationacademy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/innovationacademy.jpg -------------------------------------------------------------------------------- /src/assets/images/reference/youtube/jejucodingbasecamp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Algorithm-Coding-Test-Data-Analysis/algoview/HEAD/src/assets/images/reference/youtube/jejucodingbasecamp.jpg -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_모음 제거_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(my_string) { 2 | let result = my_string.split("").filter(v => !['a', 'e', 'i', 'o', 'u'].includes(v)).join(""); 3 | return result; 4 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_숨어있는 숫자의 덧셈(1)_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(my_string) { 2 | return my_string 3 | .match(/[0-9]/g) 4 | .reduce((a, b) => parseInt(a) + parseInt(b), 0) 5 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_x만큼 간격이 있는 n개의 숫자_구현_재영.js: -------------------------------------------------------------------------------- 1 | function solution(x, n) { 2 | var answer = []; 3 | 4 | for(let i=1;i<=n;i++){ 5 | answer.push(x*i) 6 | } 7 | return answer; 8 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_x만큼간격이있는n개의숫자_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(x, n) { 2 | const answer = []; 3 | for (let i = 1; i <= n; i++) { 4 | answer.push(x * i); 5 | } 6 | return answer; 7 | } 8 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_내적_구현_윤정.js: -------------------------------------------------------------------------------- 1 | function solution(a, b) { 2 | let answer = 0; 3 | for (let i = 0; i < a.length; i++) { 4 | answer += a[i] * b[i]; 5 | } 6 | return answer; 7 | } 8 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_두정수사이의합_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(a, b) { 2 | let sum = 0; 3 | for (let i = Math.min(a, b); i <= Math.max(a, b); i++) { 4 | sum += i; 5 | } 6 | return sum; 7 | } 8 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_문자열 다루기 기본_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | if (s.length == 4 || s.length == 6) { 3 | return s.split("").every((x) => !isNaN(x)); 4 | } else return false; 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_문자열내마음대로정렬하기_정렬_하연.js: -------------------------------------------------------------------------------- 1 | function solution(strings, n) { 2 | return strings 3 | .sort() 4 | .reverse() 5 | .sort((a, b) => a[n] > b[n] ? 1 : -1) 6 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_약수의 합_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let answer = 0; 3 | for(let i = 0; i <= n; i++){ 4 | if(n % i === 0) answer += i; 5 | } 6 | return answer; 7 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_약수의 합_구현_재영.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | var answer = 0; 3 | 4 | for(let i=1;i<=n;i++){ 5 | answer += n%i===0 ? i : 0; 6 | } 7 | 8 | return answer; 9 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_약수의합_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let answer = 0; 3 | 4 | for (let i = 0; i <= n; i++) { 5 | n % i === 0 && (answer += i); 6 | } 7 | return answer; 8 | } 9 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_폰켓몬_해시_지수.js: -------------------------------------------------------------------------------- 1 | function solution(nums) { 2 | const getCnt = nums.length / 2; 3 | let set = new Set([...nums]); 4 | return getCnt < set.size ? getCnt : set.size; 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_폰켓몬_해시_하연.js: -------------------------------------------------------------------------------- 1 | function solution(nums) { 2 | const half = nums.length / 2; 3 | const setSize = new Set(nums).size; 4 | return half < setSize ? half : setSize; 5 | } -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_가장큰수_정렬_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(numbers) { 2 | const answer = numbers.sort((a,b) => (b+''+a) - (a+''+b)).join('') 3 | return answer[0] !== '0' ? answer : '0' 4 | } 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_순서쌍의 개수_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | count = 0 3 | 4 | for i in range(1, n + 1): 5 | if n % i == 0: 6 | count += 1 7 | 8 | return count 9 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_문자열 내 마음대로 정렬하기_구현_재영 copy 5.py: -------------------------------------------------------------------------------- 1 | def solution(strings, n): 2 | answer = [] 3 | 4 | answer = sorted(strings,key= lambda x:(x[n],x)) 5 | 6 | return answer -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_각도기_구현_하은.js: -------------------------------------------------------------------------------- 1 | function solution(angle) { 2 | if(angle < 90) return 1; 3 | else if(angle === 90) return 2; 4 | else if(angle <180) return 3; 5 | else return 4; 6 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_대문자와소문자_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(my_string) { 2 | return [...my_string].map(i => 3 | /[a-z]/.test(i) ? i.toUpperCase() : i.toLowerCase() 4 | ).join('') 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_피자 나눠 먹기 (2)_구현_가람.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | for(let i = 1 ; i <= n; i++){ 3 | if(6 * i % n == 0) { 4 | return i 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /data/js/lv0/lv0_0000_프로그래머스_가장 큰 수 찾기_구현_사라.js: -------------------------------------------------------------------------------- 1 | function solution(array) { 2 | const bigNum = Math.max(...array); 3 | const bigIndex = array.indexOf(bigNum); 4 | return [bigNum, bigIndex]; 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_K번째수_정렬_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(array, commands) { 2 | return commands.map(([i, j, k]) => { 3 | return array.slice(i-1,j).sort((a,b) => a-b)[k-1] 4 | }) 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_없는숫자더하기_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(numbers) { 2 | let sum = 0; 3 | for (let i = 0; i < 10; i++) { 4 | if (!numbers.includes(i)) sum += i; 5 | } 6 | return sum; 7 | } 8 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_음양더하기_구현_윤정.js: -------------------------------------------------------------------------------- 1 | function solution(absolutes, signs) { 2 | return absolutes.reduce( 3 | (acc, val, index) => acc + val * (signs[index] ? 1 : -1), 4 | 0 5 | ); 6 | } 7 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_가장큰수찾기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(array): 2 | result = [] 3 | result.append(max(array)) 4 | num = array.index(max(array)) 5 | result.append(num) 6 | return result -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_짝수는 싫어요_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = [] 3 | 4 | for i in range(n + 1): 5 | if i % 2 != 0: 6 | answer.append(i) 7 | 8 | return answer 9 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_가운데글자가져오기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | if len(s) % 2 == 0: 3 | return s[int(len(s) / 2) - 1: int(len(s) / 2) + 1] 4 | else: 5 | return s[int(len(s) / 2)] -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_없는 숫자 더하기_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(numbers): 2 | answer = 0 3 | for e in [1,2,3,4,5,6,7,8,9,0]: 4 | if e not in numbers: 5 | answer+=e 6 | return answer -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_문자_반복_출력하기_구현_윤석.js: -------------------------------------------------------------------------------- 1 | const solution = (my_string, n) => { 2 | const arr = my_string.split(""); 3 | const result = arr.map((str) => str.repeat(n)); 4 | return result.join(""); 5 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_홀짝구분하기_구현_예지.js: -------------------------------------------------------------------------------- 1 | n = Number(input[0]); 2 | function solution (){ 3 | return(n % 2 === 0 ? `${n} is even` : `${n} is odd`) 4 | }; 5 | console.log(solution(n)); 6 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_가운데 글자 가져오기_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | const cnt = Math.floor(s.length / 2); 3 | return s.length % 2 == 0 ? s.slice(cnt - 1, cnt + 1) : s.slice(cnt, cnt + 1); 4 | } 5 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_평균 구하기_구현_하은.js: -------------------------------------------------------------------------------- 1 | function solution(arr) { 2 | let answer = 0; 3 | for(let i=0; i"369".split('').includes(v)).length 5 | 6 | return answer; 7 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_문자열 정렬하기(1)_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(my_string) { 2 | let answer = my_string.split("").map(Number).filter((v) => !Number.isNaN(v)).sort((a, b) => a - b); 3 | return answer; 4 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_숨어있는숫자의덧셈(1)_구현_상용.js: -------------------------------------------------------------------------------- 1 | function solution(my_string) { 2 | return [...my_string] 3 | .filter((el) => !isNaN(el)) 4 | .reduce((a, c) => parseInt(a) + parseInt(c), 0); 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_자릿수더하기_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let sum = 0; 3 | n = n.toString(); 4 | for (let i = 0; i < n.length; i++) { 5 | sum += parseInt(n[i]); 6 | } 7 | return sum; 8 | } 9 | -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_H-Index_정렬_선근.js: -------------------------------------------------------------------------------- 1 | function solution(citations) { 2 | citations.sort((a, b) => b - a); 3 | 4 | return citations.reduce((acc, cur, idx) => (idx < cur ? idx + 1 : acc), 0); 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_JadenCase 문자열 만들기_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | let arr = s.toLowerCase().split(' ') 3 | return arr.map(x => x.replace(/^[a-z]/,char => char.toUpperCase())).join(' ') 4 | } 5 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_진료순서정하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(emergency): 2 | sorted_emergency = sorted(emergency, reverse=True) 3 | result = [sorted_emergency.index(i)+1 for i in emergency] 4 | return result -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_월간코드챌린지시즌3_없는 숫자 더하기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(numbers): 2 | answer = sum([i for i in [i for i in range(0, 10)] if i not in numbers]) 3 | 4 | return answer 5 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_음양 더하기_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(absolutes, signs): 2 | answer = 0 3 | 4 | answer = sum([a if s else -a for a,s in zip(absolutes,signs)]) 5 | 6 | return answer 7 | 8 | -------------------------------------------------------------------------------- /dataAnalysis/macro/cnt_data/__init__.py: -------------------------------------------------------------------------------- 1 | from ._get_data import get_data 2 | from ._built_in_func_cnt import insert_countmethod_data 3 | from ._module_count import module_count 4 | from ._dict_to_json import dict_to_json -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_두 수의 연산값 비교하기_구현_예지.js: -------------------------------------------------------------------------------- 1 | function solution(a, b) { 2 | const atob = String(a) + String(b) 3 | const ab2 = 2*a*b 4 | 5 | return atob >= ab2 ? Number(atob) : Number(ab2) 6 | } 7 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_수열과구간쿼리2_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(arr, queries) { 2 | return queries.map(([s, e, k]) => { 3 | return arr.slice(s,e+1).sort((a,b) => a-b).find(i => i>k) || -1 4 | }) 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_순서쌍의 개수_구현_수아.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let sw = 0; 3 | for (let i = 0; i <= n; i++) { 4 | if (n % i === 0) { 5 | sw++; 6 | } 7 | } 8 | return sw; 9 | } 10 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_인덱스바꾸기_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(my_string, num1, num2) { 2 | const arr = my_string.split(''); 3 | [arr[num1], arr[num2]] = [arr[num2], arr[num1]]; 4 | return arr.join(''); 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_제일작은수제거하기_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(arr) { 2 | const min = Math.min(...arr); 3 | arr = arr.filter(num => num !== min); 4 | if (arr.length === 0) return [-1]; 5 | else return arr; 6 | } 7 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_369게임_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(order): 2 | result = 0 3 | result += str(order).count('3') 4 | result += str(order).count('6') 5 | result += str(order).count('9') 6 | return result -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_모음 제거_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(my_string): 2 | vowel = ["a", "e", "i", "o", "u"] 3 | 4 | for i in vowel: 5 | my_string = my_string.replace(i, "") 6 | 7 | return my_string 8 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_모음제거_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(my_string): 2 | for i in my_string: 3 | if i in ['a','e','i','o','u']: 4 | my_string = my_string.replace(i, '') 5 | 6 | return my_string -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_숨어있는숫자의덧셈(1)_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(my_string): 2 | result = 0 3 | for i in my_string: 4 | if i.isdigit(): 5 | result += int(i) 6 | 7 | return result -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_나누어떨어지는숫자배열_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(arr, divisor): 2 | result = sorted([i for i in arr if i % divisor == 0]) 3 | if result == []: 4 | result.append(-1) 5 | 6 | return result -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_배열 원소의 길이_구현_하은.js: -------------------------------------------------------------------------------- 1 | function solution(strlist) { 2 | let answer = []; 3 | for(let i=0; i !isNaN(x)); 4 | } else return false; 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_나누어떨어지는숫자배열_구현_준영.js: -------------------------------------------------------------------------------- 1 | function solution(arr, divisor) { 2 | const answer = arr.filter((v) => v % divisor == 0); 3 | return answer.length == 0 ? [-1] : answer.sort((a, b) => a - b); 4 | } 5 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_문자열 다루기 기본_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | if (s.length === 4 || s.length === 6){ 3 | return s.split("").every(a => !isNaN(a)); 4 | } else { 5 | return false; 6 | } 7 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_수박수박수박수박수박수_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let watermelon = ''; 3 | for (let i = 0; i < n; i++) { 4 | watermelon += i % 2 === 0 ? '수' : '박'; 5 | } 6 | 7 | return watermelon; 8 | } 9 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_정수 제곱근 판별_지현.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | if(Number.isInteger(Math.sqrt(n))){ 3 | let num = Math.sqrt(n)+1 4 | return num*num 5 | }else{ 6 | return -1 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_정수내림차순으로배치하기_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | return parseInt( 3 | n 4 | .toString() 5 | .split('') 6 | .sort((a, b) => b - a) 7 | .join(''), 8 | ); 9 | } 10 | -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_의상_해시_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(clothes) { 2 | const obj = {} 3 | clothes.forEach(i => obj[i[1]] = ++obj[i[1]] || 1) 4 | return Object.values(obj).reduce((a,c) => a*(c+1), 1) - 1 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_피보나치수_다이나믹_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | const arr = [0,1] 3 | for(let i = 2; i<=n; i++) { 4 | arr[i] = (arr[i-1] + arr[i-2]) % 1234567 5 | } 6 | return arr[n] 7 | } 8 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_9로나눈나머지_구현_윤정.py: -------------------------------------------------------------------------------- 1 | def solution(number): 2 | arr = list(number) 3 | sum = 0 4 | for i in range(len(arr)): 5 | sum += int(arr[i]) 6 | answer = sum % 9 7 | return answer -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_문자열내p와y의개수_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | s = s.lower() 3 | P = s.count('p') 4 | Y = s.count('y') 5 | 6 | if P == Y: 7 | return True 8 | else: 9 | return False -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_다음에올숫자_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(common) { 2 | return (common[0]-common[1] === common[1] - common[2]) 3 | ? common.pop()-common[0]+common[1] 4 | : common.pop()/common[0]*common[1] 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_문자반복출력하기_구현_수아.js: -------------------------------------------------------------------------------- 1 | function solution(my_string, n) { 2 | let print = ""; 3 | for (let i = 0; i < my_string.length; i++) { 4 | print += my_string[i].repeat(n); 5 | } 6 | return print; 7 | } 8 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_배열_회전시키기_구현_윤석.js: -------------------------------------------------------------------------------- 1 | const solution = (numbers, direction) => { 2 | direction === "right" 3 | ? numbers.unshift(numbers.pop()) 4 | : numbers.push(numbers.shift()); 5 | return numbers; 6 | }; 7 | -------------------------------------------------------------------------------- /data/js/lv0/lv0_0000_프로그래머스_2차원으로 만들기_구현_사라.js: -------------------------------------------------------------------------------- 1 | function solution(num_list, n) { 2 | let answer = []; 3 | 4 | while (num_list.length) { 5 | answer.push(num_list.splice(0, n)); 6 | } 7 | return answer; 8 | } 9 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_가운데글자가져오기_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | const midLen = Math.floor(s.length / 2); 3 | 4 | if (s.length % 2 === 0) return s.substr(midLen - 1, 2); 5 | else return s.substr(midLen, 1); 6 | } 7 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_나누어떨어지는숫자배열_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(arr, divisor) { 2 | let res = arr.filter(num => num % divisor === 0).sort((a, b) => a - b); 3 | if (res.length === 0) return [-1]; 4 | else return res; 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_자릿수 더하기_구현_재영.js: -------------------------------------------------------------------------------- 1 | function solution(n) 2 | { 3 | var answer = n.toString() 4 | .split('') 5 | .reduce((acc,cur)=>acc+cur*1,0); 6 | 7 | return answer; 8 | } -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_JadenCase문자열만들기_구현_보경.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | let words = s.toLowerCase().split(' ') 3 | words = words.map(i => i ? i[0].toUpperCase() + i.slice(1) : '') 4 | return words.join(' ') 5 | } -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_숨어있는 숫자의 덧셈 (1)_구현_선빈.py: -------------------------------------------------------------------------------- 1 | import re 2 | 3 | 4 | def solution(my_string): 5 | numbers = re.sub('[^0-9]', '', my_string) 6 | answer = sum([int(i) for i in numbers]) 7 | 8 | return answer 9 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_나머지가 1이 되는 수 찾기_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = 0 3 | 4 | for i in range(1,n+1): 5 | if (n%i==1): 6 | answer = i 7 | break 8 | 9 | return answer -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_체육복_그리디_재영.py: -------------------------------------------------------------------------------- 1 | def solution(nums): 2 | answer = 0 3 | 4 | l = len(set(nums)) 5 | N = len(nums)//2 6 | 7 | if N<=l : 8 | return N 9 | else: 10 | return l -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_폰켓몬_해시_재영.py: -------------------------------------------------------------------------------- 1 | def solution(nums): 2 | answer = 0 3 | 4 | l = len(set(nums)) 5 | N = len(nums)//2 6 | 7 | if N<=l : 8 | return N 9 | else: 10 | return l -------------------------------------------------------------------------------- /data/py/lv2/Lv2_0000_프로그래머스_다음 큰 숫자_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = 0 3 | 4 | t = bin(n)[2:].count('1') 5 | 6 | while True: 7 | n+=1 8 | if bin(n)[2:].count('1') == t: 9 | return n -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_짝수는 싫어요_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let odd = []; 3 | 4 | for(let i = 1; i <= n; i++){ 5 | if(i % 2 === 1) { 6 | odd.push(i); 7 | } 8 | } 9 | return odd; 10 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_K번째수_정렬_하연.js: -------------------------------------------------------------------------------- 1 | function solution(array, commands) { 2 | return commands.map(v => { 3 | return array 4 | .slice(v[0]-1, v[1]) 5 | .sort((a, c) => a - c, 0)[v[2]-1]; 6 | }) 7 | } -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_팩토리얼_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | result = 1 3 | factorial = 1 4 | while factorial <= n: 5 | result += 1 6 | factorial = factorial * result 7 | result -= 1 8 | return result -------------------------------------------------------------------------------- /data/py/lv2/Lv2_0000_프로그래머스_최댓값과 최솟값_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | answer = '' 3 | d = list(map(int,s.split())) 4 | 5 | answer += str(min(d)) 6 | answer += ' ' 7 | answer += str(max(d)) 8 | 9 | return (answer) -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_문자열겹쳐쓰기_구현_예지.js: -------------------------------------------------------------------------------- 1 | function solution(my_string, overwrite_string, s) { 2 | const myStr = [...my_string] 3 | myStr.splice(s, overwrite_string.length, overwrite_string) 4 | return myStr.join("") 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_나머지가 1이 되는 수 찾기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let arr = []; 3 | for(let i = 0; i < n; i++){ 4 | if (n % i === 1){ 5 | arr.push(i); 6 | } 7 | } 8 | return arr.shift(); 9 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_약수의개수와덧셈_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(left, right) { 2 | let answer = 0; 3 | for(let i=left; i<=right; i++) { 4 | Math.sqrt(i) % 1 ? answer+=i : answer-=i 5 | } 6 | return answer; 7 | } 8 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_음양더하기_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(absolutes, signs) { 2 | let sum = 0; 3 | absolutes.forEach((num, index) => { 4 | if (signs[index]) sum += num; 5 | else sum -= num; 6 | }); 7 | return sum; 8 | } 9 | -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_최댓값과최솟값_구현_원영.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | var answer = ''; 3 | answer = `${Math.min(...s.split(' ').map(Number))} ${Math.max( 4 | ...s.split(' ').map(Number) 5 | )}`; 6 | 7 | return answer; 8 | } 9 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_각도기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(angle): 2 | if 0 < angle < 90: 3 | return 1 4 | elif angle == 90: 5 | return 2 6 | elif 90 < angle < 180: 7 | return 3 8 | else: 9 | return 4 -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_대문자와 소문자_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(my_string): 2 | answer = '' 3 | for i in my_string: 4 | if i.islower(): 5 | answer += i.upper() 6 | else: 7 | answer += i.lower() 8 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_같은숫자는싫어_스택큐_재호.py: -------------------------------------------------------------------------------- 1 | def solution(arr): 2 | result = [arr[0]] 3 | 4 | for i in range(1, len(arr)): 5 | if arr[i] != arr[i - 1]: 6 | result.append(arr[i]) 7 | 8 | return result -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_두 정수 사이의 합_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(a, b): 2 | if a < b: 3 | answer = sum([i for i in range(a, b + 1)]) 4 | else: 5 | answer = sum([i for i in range(b, a + 1)]) 6 | 7 | return answer 8 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_나머지가 1이 되는 수 찾기_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let x = []; 3 | for (let i = 0; i <= n; i++) { 4 | if (n % i === 1) { 5 | x.push(i); 6 | } 7 | } 8 | return Math.min(...x); 9 | } 10 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_부족한 금액 계산하기_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(price, money, count) { 2 | let total = 0; 3 | for (let i = 1; i <= count; i++) { 4 | total += price * i; 5 | } 6 | return total > money ? total - money : 0; 7 | } 8 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_옹알이(2)_구현_하연.js: -------------------------------------------------------------------------------- 1 | function solution(babbling) { 2 | const regexp1 = /(aya|ye|woo|ma)\1/; 3 | const regexp2 = /^(aya|ye|woo|ma)+$/; 4 | return babbling.filter(v => !regexp1.test(v) && regexp2.test(v)).length; 5 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_정수 제곱근 판별_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let answer = -1; 3 | let sqrt = Math.sqrt(n); 4 | if (parseInt(sqrt) === Math.sqrt(n)){ 5 | answer = (sqrt + 1) ** 2; 6 | } 7 | return answer; 8 | } -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_가장큰수_정렬_준영.js: -------------------------------------------------------------------------------- 1 | function solution(numbers) { 2 | const answer = numbers.map(el => el.toString()) 3 | .sort((a, b) => (b + a) - (a + b)).join(''); 4 | 5 | return answer[0] === '0' ? '0' : answer; 6 | } -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_문자열 섞기_구현_영조.py: -------------------------------------------------------------------------------- 1 | def solution(str1, str2): 2 | l = [] 3 | for i in range(len(str1)): 4 | l.append(str1[i]) 5 | l.append(str2[i]) 6 | 7 | return ''.join(l) 8 | 9 | solution('aaaaa', 'bbbbb') -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_합성수찾기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | result = [] 3 | for i in range(3, n+1): 4 | for j in range(2, i): 5 | if i % j == 0: 6 | result.append(i) 7 | return len(set(result)) -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_수박수박수박수박수박수__구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | result = '' 3 | for i in range(n): 4 | if (i + 1) % 2 != 0: 5 | result += '수' 6 | else: 7 | result += '박' 8 | return result -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_하샤드 수_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(x): 2 | case_a = sum([int(i) for i in str(x)]) 3 | 4 | if x % case_a == 0: 5 | answer = True 6 | else: 7 | answer = False 8 | 9 | return answer 10 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_n의배수_구현_윤정.js: -------------------------------------------------------------------------------- 1 | function solution(num, n) { 2 | var answer = 0; 3 | if(num % n === 0) { 4 | answer = 1; 5 | } 6 | else{ 7 | answer = 0; 8 | } 9 | return answer; 10 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_외계어사전_구현_지현.js: -------------------------------------------------------------------------------- 1 | function solution(spell, dic) { 2 | spell = spell.sort().join('') 3 | let answer = dic.map(item=>item.split('').sort().join('')).find(item=>item ===spell) 4 | return answer!==undefined?1:2 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_부족한 금액 계산하기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(price, money, count) { 2 | let answer = 0; 3 | for (let i = 0; i <= count; i++){ 4 | answer += price * i 5 | } 6 | return answer > money ? answer - money : 0; 7 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_없는 숫자 더하기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(numbers) { 2 | let answer = 0; 3 | for(let i = 0; i < 10; i++){ 4 | if (!numbers.includes(i)){ 5 | answer += i 6 | } 7 | } 8 | return answer; 9 | } -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_명예의전당(1)_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(k, score): 2 | result = [] 3 | 4 | for i in range(1, len(score) + 1): 5 | result.append(min((sorted(score[0:i], reverse = True))[0:k])) 6 | 7 | return result -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_푸드파이트대회_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(food): 2 | result = '' 3 | 4 | for i in range(1, len(food)): 5 | num = food[i] // 2 6 | result += str(i) * num 7 | 8 | return result + '0' + result[::-1] -------------------------------------------------------------------------------- /data/py/lv1/Lv1_2018_카카오_[1차]비밀지도_비트연산_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n, arr1, arr2): 2 | result = [] 3 | for i in range(n): 4 | result.append((bin(arr1[i] | arr2[i])[2:].zfill(n)).replace('1', '#').replace('0',' ')) 5 | 6 | return result -------------------------------------------------------------------------------- /src/assets/images/arrow-button.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_배열의 평균값_구현_하은.js: -------------------------------------------------------------------------------- 1 | function solution(numbers) { 2 | let sum = 0; 3 | 4 | for (let i = 0; i < numbers.length; i++){ 5 | sum += numbers[i]; 6 | } 7 | 8 | return sum / numbers.length; 9 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_순서쌍의 개수_구현_태희.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let arr = []; 3 | for(let i = 1; i <= n; i++){ 4 | if(n % i === 0){ 5 | arr.push(i); 6 | } 7 | } 8 | return arr.length 9 | } 10 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_약수구하기_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let s = new Set(); 3 | for (let i = 1; i <= Math.sqrt(n); i++) { 4 | !(n % i) && (s.add(i), s.add(n / i)) 5 | } 6 | return [...s].sort((a, b) => a - b); 7 | } 8 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_2021_카카오_숫자문자열과영단어_해시_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | const arr = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'] 3 | 4 | for(let i in arr) s = s.replaceAll(arr[i], i) 5 | return s*1 6 | } 7 | -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_올바른괄호_스택큐_승지.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | let 스택 = 0; 3 | for (let i = 0; i < s.length; i++) { 4 | 스택 += s[i] === "(" ? 1 : -1; 5 | if (스택 < 0) return false; 6 | } 7 | return 스택 === 0 ? true : false; 8 | } 9 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_월간코드챌린지시즌2_음양 더하기_구현_성철.py: -------------------------------------------------------------------------------- 1 | def solution(absolutes, signs): 2 | answer = 0 3 | for n, c in zip(absolutes, signs): 4 | if c: 5 | answer += n 6 | else: 7 | answer -= n 8 | return answer -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_가운데 글자 가져오기_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | answer = '' 3 | 4 | l = len(s) 5 | if l%2 !=0: 6 | answer += s[l//2] 7 | else: 8 | answer += s[l//2-1:l//2+1] 9 | 10 | return answer -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_문자열 내 p와 y의 개수_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | answer = True 3 | 4 | s = s.lower() 5 | 6 | p = s.count('p') 7 | y = s.count('y') 8 | answer = True if p==y else False 9 | 10 | return answer -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_머쓱이보다 키 큰 사람_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(array, height) { 2 | let num = []; 3 | for (let i = 0; i <= array.length; i++) { 4 | if (height < array[i]) { 5 | num.push(i) 6 | } 7 | } 8 | return num.length; 9 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_짝수의 합_구현_하은.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let answer = 0; 3 | for (i=0; i<=n; i++){ 4 | if(i % 2 === 0){ 5 | answer += i 6 | } 7 | } 8 | 9 | return answer; 10 | } -------------------------------------------------------------------------------- /data/js/lv0/lv0_0000_프로그래머스_인덱스 바꾸기_구현_사라.js: -------------------------------------------------------------------------------- 1 | function solution(my_string, num1, num2) { 2 | let answer = [...my_string]; 3 | answer.splice(num1, 1, my_string[num2]); 4 | answer.splice(num2, 1, my_string[num2]); 5 | return answer.join(''); 6 | } 7 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_x만큼 간격이 있는 n개의 숫자_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(x, n) { 2 | let answer = []; 3 | let y = 0; 4 | for(let i = 0; i < n; i++){ 5 | answer[i] = x + y; 6 | y += x; 7 | } 8 | return answer; 9 | } -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_옷가게할인받기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(price): 2 | if price >= 500000: 3 | price *= 0.8 4 | elif price >= 300000: 5 | price *= 0.9 6 | elif price >= 100000: 7 | price *= 0.95 8 | 9 | return int(price) -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_나누어 떨어지는 숫자 배열_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(arr, divisor): 2 | answer = [i for i in arr if i % divisor == 0] 3 | 4 | if len(answer) == 0: 5 | answer = [-1] 6 | 7 | answer.sort() 8 | 9 | return answer 10 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_주사위의 개수_구현_가람.js: -------------------------------------------------------------------------------- 1 | function solution(box, n) { 2 | const width = Math.floor(box[0]/n); 3 | const length = Math.floor(box[1]/n); 4 | const height = Math.floor(box[2]/n); 5 | 6 | return width * length * height; 7 | } 8 | -------------------------------------------------------------------------------- /data/js/lv0/lv0_0000_프로그래머스_약수 구하기_구현_사라.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | var answer = []; 3 | for (let i = n; i > 0; i--) { 4 | if (n % i === 0) { 5 | answer.push(i); 6 | } 7 | } 8 | return answer.sort((a, b) => a - b); 9 | } 10 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_가운데 글자 가져오기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | let middle = Math.floor(s.length / 2); 3 | 4 | if (s.length % 2 !== 0) { 5 | return s[middle]; 6 | } else { 7 | return s.slice(middle - 1, middle + 1); 8 | } 9 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_같은 숫자는 싫어_스택큐_지수.js: -------------------------------------------------------------------------------- 1 | function solution(arr) { 2 | let array = []; 3 | for (let i = 0; i < arr.length + 1; i++) { 4 | if (arr[i] !== arr[i + 1]) { 5 | array.push(arr[i]); 6 | } 7 | } 8 | return array; 9 | } 10 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_시저암호_구현_하연.js: -------------------------------------------------------------------------------- 1 | function solution(s, n) { 2 | const result = s.replace(/[^ ]/g, v => { 3 | const c = v.charCodeAt(0); 4 | return String.fromCharCode((c & 96) + (c % 32 + n - 1) % 26 + 1); 5 | }) 6 | return result; 7 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_예산_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(d, budget) { 2 | let result = 0; 3 | let cnt = 0; 4 | d.sort((a, b) => a - b).map((x) => { 5 | result += x; 6 | result <= budget ? cnt++ : null; 7 | }); 8 | return cnt; 9 | } 10 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_정수 제곱근 판별_구현_재영.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | var answer = 0; 3 | let sqrt = Math.sqrt(n); 4 | if(parseInt(sqrt)===sqrt){ 5 | answer = (sqrt + 1) ** 2; 6 | }else{ 7 | answer=-1 8 | } 9 | return answer; 10 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_최대공약수와최소공배수_스택큐_하연.js: -------------------------------------------------------------------------------- 1 | function solution(n, m) { 2 | const GCD = findGCD(n, m); 3 | const LCM = n * m / GCD; 4 | return [GCD, LCM]; 5 | } 6 | function findGCD(a, b) { 7 | return a % b === 0 ? b : findGCD(b, a % b); 8 | } 9 | -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_올바른괄호_스택큐_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(s){ 2 | let acc = 0 3 | for(let i=0; i { 2 | let sum = 0; 3 | for (const str of my_string) { 4 | if (isNaN(parseInt(str)) === false) { 5 | sum += parseInt(str); 6 | } 7 | } 8 | return sum; 9 | }; 10 | -------------------------------------------------------------------------------- /data/js/lv0/lv0_0000_프로그래머스_다음에 올 숫자_구현_하은.js: -------------------------------------------------------------------------------- 1 | function solution(common) { 2 | let obj = common[1] - common[0] 3 | let obj2 = common[2] - common[1] 4 | 5 | return (obj === obj2)? common[common.length-1] + obj : common[common.length-1] * (obj2 / obj) 6 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_부족한 금액 계산하기_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(price, money, count) { 2 | let total = 0; 3 | for (let i = 1; i <= count; i++) { 4 | total += price * i; 5 | } 6 | return total > money ? total - money : 0; 7 | } 8 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_없는숫자더하기_구현_윤정.js: -------------------------------------------------------------------------------- 1 | function solution(numbers) { 2 | let num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; 3 | const numFilter = num.filter((v) => !numbers.includes(v)); 4 | const sum = numFilter.reduce((a, c) => a + c, 0); 5 | return sum; 6 | } 7 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_하샤드수_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(x) { 2 | const sum = x 3 | .toString() 4 | .split('') 5 | .map(num => parseInt(num)) 6 | .reduce((a, b) => a + b); 7 | if (x % sum === 0) return true; 8 | else return false; 9 | } 10 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_대문자와소문자_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(my_string): 2 | result = '' 3 | for i in my_string: 4 | if i.isupper(): 5 | result += i.lower() 6 | else: 7 | result += i.upper() 8 | 9 | return result -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_문자열계산하기_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(my_string) { 2 | const arr = my_string.split(' ') 3 | let num = 0; 4 | for(let i=0; i= 10) { 4 | result += Math.floor(chicken / 10); 5 | chicken = (chicken % 10) + Math.floor(chicken / 10); 6 | } 7 | return result; 8 | } 9 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_예산_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(d, budget) { 2 | let result = 0; 3 | let cnt = 0; 4 | d.sort((a, b) => a - b).map((x) => { 5 | result += x; 6 | result <= budget ? cnt++ : null; 7 | }); 8 | return cnt; 9 | } 10 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_직사각형별찍기_준혁.js: -------------------------------------------------------------------------------- 1 | process.stdin.setEncoding('utf8'); 2 | process.stdin.on('data', data => { 3 | const n = data.split(' '); 4 | const a = Number(n[0]), 5 | b = Number(n[1]); 6 | 7 | console.log(('*'.repeat(a) + '\n').repeat(b)); 8 | }); 9 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_2018_프로그래머스_예산_그리디_하연.js: -------------------------------------------------------------------------------- 1 | function solution(d, budget) { 2 | let answer = budget; 3 | d.sort((a, b) => a - b); 4 | for (let i = 0; i < d.length; i++) { 5 | answer -= d[i]; 6 | if (answer < 0) return i; 7 | } 8 | return d.length; 9 | } -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_가까운수_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(array, n): 2 | result = [] 3 | sorted_array = sorted(array) 4 | for i in sorted_array: 5 | result.append(abs(n - i)) 6 | 7 | x = result.index(min(result)) 8 | 9 | return sorted(array)[x] -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_점의위치구하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(dot): 2 | if dot[0] > 0 and dot[1] > 0: 3 | return 1 4 | elif dot[0] > 0 and dot[1] < 0: 5 | return 4 6 | elif dot[0] < 0 and dot[1] > 0: 7 | return 2 8 | else: 9 | return 3 -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_최댓값 만들기 (2)_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(numbers): 2 | numbers = sorted(numbers) 3 | 4 | case_a = numbers[0] * numbers[1] 5 | case_b = numbers[-1] * numbers[-2] 6 | 7 | answer = max(case_a, case_b) 8 | 9 | return answer 10 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_합성수 찾기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = 0 3 | for i in range(1, n + 1): 4 | m = [j for j in range(1, i + 1) if i % j == 0] 5 | 6 | if len(m) >= 3: 7 | answer += 1 8 | 9 | return answer 10 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_약수의개수와덧셈_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(left, right): 2 | result = 0 3 | for i in range(left, right + 1): 4 | if int(i**0.5) == i**0.5: 5 | result -= i 6 | else: 7 | result += i 8 | 9 | return result -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_영어가싫어요_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(numbers) { 2 | const arr = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"] 3 | arr.forEach((v,i) => numbers = numbers.replaceAll(v, i)) 4 | return Number(numbers) 5 | } 6 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_유한소수판별하기_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(a, b) { 2 | for(let i=0; i<=Math.min(a,b); i++) { 3 | (a%i===0 && b%i===0) && (a=a/i, b=b/i) 4 | } 5 | while (!(b%2)) b /= 2 6 | while (!(b%5)) b /= 5 7 | return b === 1 ? 1 : 2 8 | } 9 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_콜라르추측_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(num) { 2 | let cnt = 0; 3 | while (num !== 1) { 4 | if (num % 2 === 0) num /= 2; 5 | else num = num * 3 + 1; 6 | cnt++; 7 | 8 | if (cnt === 500) return -1; 9 | } 10 | return cnt; 11 | } 12 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_2021_카카오_숫자문자열과영단어_구현_하연.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | const numList = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight' ,'nine']; 3 | numList.forEach((v, i) => { 4 | s = s.split(v).join(i); 5 | }); 6 | return parseInt(s); 7 | } -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_정수 제곱근 판별_구현_선빈.py: -------------------------------------------------------------------------------- 1 | import math 2 | 3 | 4 | def solution(n): 5 | sqrt_n = math.isqrt(n) 6 | 7 | if sqrt_n * sqrt_n == n: 8 | answer = (sqrt_n + 1) ** 2 9 | else: 10 | answer = -1 11 | 12 | return answer 13 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_콜라문제_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(a, b, n): 2 | result = 0 3 | 4 | while True: 5 | result += (n // a) * b 6 | n = (n // a) * b + (n % a) 7 | if a - 1 >= n: 8 | break 9 | 10 | return result -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_수박수박수박수박수박수_구현_하은.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let answer = ''; 3 | for(let i = 0; i < n; i++){ 4 | if(i % 2 === 0){ 5 | answer += '수' 6 | } else { 7 | answer += '박' 8 | } 9 | } 10 | return answer; 11 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_완주하지못한선수_해시_선근.js: -------------------------------------------------------------------------------- 1 | function solution(participant, completion) { 2 | participant.sort(); 3 | completion.sort(); 4 | for (let i = 0; i < participant.length; i++) { 5 | if (participant[i] !== completion[i]) return participant[i]; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_개미군단_그리디_재호.py: -------------------------------------------------------------------------------- 1 | def solution(hp): 2 | 장군개미수 = hp // 5 3 | hp = hp - 장군개미수 * 5 4 | 5 | 병정개미수 = hp // 3 6 | hp = hp - 병정개미수 * 3 7 | 8 | 일개미수 = hp // 1 9 | hp = hp - 일개미수 * 3 10 | 11 | return 장군개미수 + 병정개미수 + 일개미수 -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_x만틈 간격이 있는 n개의 숫자_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(x, n): 2 | answer = [] 3 | for i in range(1, n+1): 4 | if i == 1: 5 | answer.append(x) 6 | else: 7 | answer.append(answer[-1] + x) 8 | 9 | return answer 10 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_음양더하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(absolutes, signs): 2 | result = 0 3 | for i in range(len(signs)): 4 | if signs[i] == True: 5 | result += absolutes[i] 6 | else: 7 | result -= absolutes[i] 8 | 9 | return result -------------------------------------------------------------------------------- /data/js/lv0/lv0_0000_프로그래머스_n의 배수 고르기_구현_사라.js: -------------------------------------------------------------------------------- 1 | function solution(n, numlist) { 2 | let answer = []; 3 | for (let i = 0; i < numlist.length; i++) { 4 | if (numlist[i] % n === 0) { 5 | answer.push(numlist[i]); 6 | } 7 | } 8 | return answer; 9 | } 10 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_같은 숫자는 싫어_스택큐_지수.js: -------------------------------------------------------------------------------- 1 | function solution(arr) { 2 | let array = []; 3 | for (let i = 0; i < arr.length + 1; i++) { 4 | if (arr[i] !== arr[i + 1]) { 5 | array.push(arr[i]); 6 | } 7 | } 8 | return array; 9 | } 10 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_최대공약수와 최소공배수_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(n, m) { 2 | let a; 3 | let b; 4 | for (let i = 1; i <= Math.max(n, m); i++) { 5 | if (n % i == 0 && m % i == 0) { 6 | a = i; 7 | } 8 | } 9 | b = (n * m) / a; 10 | return [a, b]; 11 | } 12 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_중복된 문자 제거_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(my_string): 2 | answer = [] 3 | 4 | for i in my_string: 5 | if i not in answer: 6 | answer.append(i) 7 | answer = ''.join(answer) 8 | 9 | return answer 10 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_배열회전시키기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(numbers, direction): 2 | if direction == 'right': 3 | numbers.insert(0, numbers[-1]) 4 | return numbers[:-1] 5 | elif direction == 'left': 6 | numbers.append(numbers[0]) 7 | return numbers[1:] -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_삼각형의 완성조건 (1)_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(sides): 2 | max_side = max(sides) 3 | 4 | sides.remove(max_side) 5 | other_sides_sum = sum(sides) 6 | 7 | if max_side < other_sides_sum: 8 | return 1 9 | else: 10 | return 2 11 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_커피 심부름_구현_성철.py: -------------------------------------------------------------------------------- 1 | def solution(order): 2 | answer = 0 3 | for coffe in order: 4 | if "cafelatte" in coffe: 5 | answer += 5000 6 | elif "americano" in coffe or "anything" in coffe: 7 | answer += 4500 8 | return answer -------------------------------------------------------------------------------- /data/py/lv2/Lv2_0000_프로그래머스_피보나치 수_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = 0 3 | 4 | if n<2: 5 | return n 6 | 7 | l = [0]*(n+1) 8 | l[1] = 1 9 | 10 | for i in range(2,n+1): 11 | l[i] = (l[i-2] + l[i-1]) 12 | 13 | return l[-1]%1234567 -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_덧칠하기_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(n, m, section) { 2 | let cnt = 0 3 | let idx = 0 4 | for(let i of section){ 5 | while(i > idx){ 6 | cnt++ 7 | idx = i + m - 1 8 | } 9 | } 10 | return cnt 11 | } 12 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_수박수박수박수박수박수_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let answer = ''; 3 | for(let i = 0; i < n; i++){ 4 | if(i % 2 === 0){ 5 | answer += '수' 6 | } else { 7 | answer += '박' 8 | } 9 | } 10 | return answer; 11 | } -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_가위바위보_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(rsp): 2 | result = '' 3 | for i in rsp: 4 | if i == '2': 5 | result += '0' 6 | elif i == '0': 7 | result += '5' 8 | else: 9 | result += '2' 10 | return result -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_옷가게 할인받기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(price): 2 | if price >= 500000: 3 | price = price * 0.8 4 | elif price >= 300000: 5 | price = price * 0.9 6 | elif price >= 100000: 7 | price = price * 0.95 8 | 9 | return int(price) 10 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_부족한 금액 계산하기_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(price, money, count): 2 | answer = 0 3 | 4 | for i in range(1,count+1): 5 | print(money) 6 | money -= price*i 7 | 8 | if money<0: 9 | answer = abs(money) 10 | 11 | return answer -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_예산_그리디_재호.py: -------------------------------------------------------------------------------- 1 | def solution(d, budget): 2 | d.sort() 3 | result = 0 4 | 5 | for i in d: 6 | if budget >= i: 7 | budget -= i 8 | result += 1 9 | else: 10 | break 11 | 12 | return result -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_옷가게 할인 받기_구현_하은.js: -------------------------------------------------------------------------------- 1 | function solution(price) { 2 | if(price>= 500000){ 3 | price*=0.8 4 | }else if(price>=300000){ 5 | price*=0.9 6 | }else if (price>=100000){ 7 | price*=0.95 8 | } 9 | return parseInt(price) 10 | } 11 | -------------------------------------------------------------------------------- /data/js/lv0/lv0_0000_프로그래머스_연속된 수의 합_구현_하은.js: -------------------------------------------------------------------------------- 1 | function solution(num, total) { 2 | var answer = []; 3 | let start = (total/num) - ((num-1)/2); 4 | 5 | for(let i = 0 ; i < num; i++){ 6 | answer.push(start); 7 | start += 1; 8 | } 9 | return answer; 10 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_2016년_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(a, b) { 2 | let day = new Date(`2016-${a}-${b}`); 3 | const dayArr = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]; 4 | return dayArr 5 | .filter((a, b) => (day.getDay() === b ? dayArr[b] : null)) 6 | .join(""); 7 | } 8 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_추억 점수_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(name, yearning, photo) { 2 | return photo.map((v) => { 3 | return v 4 | .filter((x) => (x = name.includes(x))) 5 | .map((v) => yearning[name.indexOf(v)]) 6 | .reduce((acc, cur) => acc + cur, 0); 7 | }); 8 | } 9 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_콜라츠 추측_구현_재영.js: -------------------------------------------------------------------------------- 1 | function solution(num) { 2 | var answer = 0; 3 | let cnt = 0; 4 | while(num!==1 && cnt<500){ 5 | num = !(num%2) ? num/2 : num*3+1; 6 | cnt++; 7 | } 8 | if(cnt>=500){ 9 | cnt = -1 10 | } 11 | 12 | return cnt; 13 | } -------------------------------------------------------------------------------- /data/js/lv2/Lv2_2019_카카오_튜플_정렬_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | const arr = s.replaceAll('{','').replaceAll('}','').split(',').sort() 3 | const map = new Map() 4 | for(let i of arr) map.set(i, (map.get(i) || 0)+1) 5 | return [...map].sort((a,b) => b[1]-a[1]).map(i => ~~i[0]) 6 | } 7 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_2024_PCCE 기출문제 10번_데이터 분석_구현_성철 .py: -------------------------------------------------------------------------------- 1 | def solution(data, ext, val_ext, sort_by): 2 | exts = ("code", "date", "maximum", "remain") 3 | filter_data = list(filter(lambda x: x[exts.index(ext)] < val_ext, data)) 4 | return sorted(filter_data, key=lambda x: x[exts.index(sort_by)]) -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_카펫_완전탐색_원영.js: -------------------------------------------------------------------------------- 1 | function solution(brown, yellow) { 2 | let a = brown - 4; 3 | let b = 1; 4 | 5 | while (true) { 6 | if (a == (yellow / b) * 2 + b * 2) { 7 | break; 8 | } 9 | b++; 10 | } 11 | 12 | return [yellow / b + 2, b + 2]; 13 | } 14 | -------------------------------------------------------------------------------- /data/js/lv3/Lv3_0000_백준_sxn타일링_다이나믹_보경.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let memo = new Array(n + 1); 3 | memo[1] = 1; 4 | memo[2] = 2; 5 | 6 | for (let i = 3; i <= n; i++) { 7 | memo[i] = (memo[i - 1] + memo[i - 2]) % 10007; 8 | } 9 | 10 | console.log(memo[n]); 11 | } -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_월간코드챌린지시즌2_음양 더하기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(absolutes, signs): 2 | answer = [] 3 | for i, v in enumerate(absolutes): 4 | if signs[i] is True: 5 | answer.append(v) 6 | else: 7 | answer.append(-v) 8 | 9 | return sum(answer) 10 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_두정수사이의합_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(a, b): 2 | sum = 0 3 | if a < b: 4 | for i in range(a, b+1): 5 | sum += i 6 | elif a > b: 7 | for i in range(b, a+1): 8 | sum += i 9 | else: 10 | return a 11 | return sum -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_2016년_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(a, b) { 2 | let day = new Date(`2016-${a}-${b}`); 3 | const dayArr = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]; 4 | return dayArr 5 | .filter((a, b) => (day.getDay() === b ? dayArr[b] : null)) 6 | .join(""); 7 | } 8 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_문자열내p와y의개수_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | s = s.split(''); 3 | let pCnt = s.filter(char => char === 'p' || char === 'P').length; 4 | let yCnt = s.filter(char => char === 'y' || char === 'Y').length; 5 | 6 | if (pCnt === yCnt) return true; 7 | else return false; 8 | } 9 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_부족한금액계산하기_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(price, money, count) { 2 | let totalNeedMoney = 0; 3 | 4 | for (let i = 1; i <= count; i++) { 5 | totalNeedMoney += i * price; 6 | } 7 | 8 | if (totalNeedMoney <= money) return 0; 9 | return totalNeedMoney - money; 10 | } 11 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_옹알이 (1)_구현_성철.py: -------------------------------------------------------------------------------- 1 | def solution(babbling): 2 | c = 0 3 | for b in babbling: 4 | for w in [ "aya", "ye", "woo", "ma" ]: 5 | if w * 2 not in b: 6 | b = b.replace(w, ' ') 7 | if len(b.strip()) == 0: 8 | c += 1 9 | return c -------------------------------------------------------------------------------- /data/py/lv1/LV1_0000_프로그래머스_x만큼 간격이 있는 n개의 숫자_구현_성철.py: -------------------------------------------------------------------------------- 1 | def solution(x, n): 2 | if x == 0: 3 | return [0 for _ in range(n)] 4 | elif x >= 1: 5 | answer = [val for val in range(x, x * n + 1, x)] 6 | else: 7 | answer = [val for val in range(x, x * n - 1, x)] 8 | return answer -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_두 개 뽑아서 더하기_구현_재영.py: -------------------------------------------------------------------------------- 1 | from itertools import combinations as cb 2 | def solution(numbers): 3 | answer = [] 4 | 5 | for x,y in set(cb(numbers,2)): 6 | answer.append(x+y) 7 | 8 | answer = list(set(answer)) 9 | answer.sort() 10 | return answer -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_두개뽑아서더하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(numbers): 2 | result = [] 3 | 4 | for i in range(len(numbers)): 5 | for j in range(i + 1, len(numbers)): 6 | result.append(numbers[i] + numbers[j]) 7 | 8 | result = set(result) 9 | return sorted(result) -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_구슬을나누는경우의수_구현_지현.js: -------------------------------------------------------------------------------- 1 | function solution(balls, share) { 2 | 3 | const Fac =(n) => { 4 | let result = 1; 5 | for(let i=2; i<=n; i++) { 6 | result *= i;} 7 | return result; 8 | } 9 | return Math.round(Fac(balls) / (Fac(balls-share) * Fac(share))) 10 | } 11 | -------------------------------------------------------------------------------- /data/js/lv0/lv0_0000_프로그래머스_숫자 찾기_구현_사라.js: -------------------------------------------------------------------------------- 1 | function solution(num, k) { 2 | const newArr = Array.from(String(num)); 3 | for (let i = 0; i < newArr.length; i++) { 4 | if (newArr[i] === String(k)) { 5 | return newArr.indexOf(String(k)) + 1; 6 | } 7 | } 8 | return -1; 9 | } 10 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_최대공약수와 최소공배수_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(n, m) { 2 | let a; 3 | let b; 4 | for (let i = 1; i <= Math.max(n, m); i++) { 5 | if (n % i == 0 && m % i == 0) { 6 | a = i; 7 | } 8 | } 9 | b = (n * m) / a; 10 | return [a, b]; 11 | } 12 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_카드뭉치_구현_하연.js: -------------------------------------------------------------------------------- 1 | function solution(cards1, cards2, goal) { 2 | let a = 0, 3 | b = 0; 4 | for (const v of goal) { 5 | if (cards1[a] === v) a++; 6 | else if (cards2[b] === v) b++; 7 | else return 'No'; 8 | } 9 | return 'Yes'; 10 | } -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_인덱스 바꾸기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(my_string, num1, num2): 2 | str_list = list(my_string) 3 | 4 | a = str_list[num1] 5 | b = str_list[num2] 6 | 7 | str_list[num1] = b 8 | str_list[num2] = a 9 | 10 | answer = "".join(str_list) 11 | 12 | return answer 13 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_최빈값구하기_해시_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(array) { 2 | const map = new Map() 3 | array.forEach(i => map.set(i, (map.get(i) || 0) + 1)) 4 | const sorted = [...map].sort((a,b) => b[1] - a[1]) 5 | return (sorted.length === 1 || sorted[0][1] !== sorted[1][1]) ? sorted[0][0] : -1 6 | } 7 | -------------------------------------------------------------------------------- /data/js/lv0/lv0_0000_프로그래머스_A로 B 만들기_구현_사라.js: -------------------------------------------------------------------------------- 1 | function solution(before, after) { 2 | const newArr1 = Array.from(before); 3 | const newArr2 = Array.from(after); 4 | const beforeArr = newArr1.sort().join(''); 5 | const afterArr = newArr2.sort().join(''); 6 | return beforeArr === afterArr ? 1 : 0; 7 | } 8 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_예산_그리디_윤정.js: -------------------------------------------------------------------------------- 1 | function solution(d, budget) { 2 | d.sort((a, b) => a - b); 3 | let result = 0; 4 | 5 | for (let i = 0; i < d.length; i++) { 6 | budget -= d[i]; 7 | if (budget < 0) { 8 | break; 9 | } 10 | result++; 11 | } 12 | 13 | return result; 14 | } 15 | -------------------------------------------------------------------------------- /data/py/lv2/Lv2_0000_프로그래머스_최솟값 만들기_스택큐_재영.py: -------------------------------------------------------------------------------- 1 | from collections import deque 2 | 3 | def solution(A,B): 4 | answer = 0 5 | 6 | A = deque(sorted(A)) 7 | B = deque(sorted(B,reverse=True)) 8 | 9 | for i in range(len(A)): 10 | answer += A.popleft()*B.popleft() 11 | 12 | 13 | return answer -------------------------------------------------------------------------------- /src/assets/images/btn-top.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_2021_프로그래머스_로또의최고순위와최저순위_구현_하연.js: -------------------------------------------------------------------------------- 1 | function solution(lottos, win_nums) { 2 | const zero = lottos.filter(v => v === 0).length; 3 | if (zero === 6) return [1, 6]; 4 | const min = lottos.filter(v => win_nums.includes(v)).length; 5 | if (min === 0) return [6, 6]; 6 | return [7 - min - zero, 7 - min]; 7 | } -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_외계행성의나이_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(age): 2 | result = '' 3 | alpha = {'0' : 'a', '1' : 'b', '2' : 'c', '3' : 'd', 4 | '4' : 'e', '5' : 'f', '6' : 'g', '7' : 'h', 5 | '8' : 'i', '9' : 'j'} 6 | for i in str(age): 7 | result += alpha[i] 8 | 9 | return result -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_나누어 떨어지는 숫자 배열_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(arr, divisor): 2 | answer = [] 3 | 4 | arr.sort() 5 | 6 | for e in arr: 7 | if e%divisor==0: 8 | answer.append(e) 9 | 10 | if len(answer)==0: 11 | answer.append(-1) 12 | 13 | return answer -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_문자열내림차순으로배치하기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | lower_s = [] 3 | upper_s = [] 4 | for i in s: 5 | if i.islower(): 6 | lower_s.append(i) 7 | else: 8 | upper_s.append(i) 9 | return ''.join(sorted(lower_s, reverse = True) + sorted(upper_s, reverse = True)) -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_최대공약수와최소공배수_구현_재호.py: -------------------------------------------------------------------------------- 1 | import math 2 | 3 | def solution(n, m): 4 | result = [] 5 | result.append(math.gcd(n, m)) 6 | for i in range(max(n, m), n*m + 1): 7 | if i % n == 0 and i % m == 0: 8 | result.append(i) 9 | break 10 | 11 | return result -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_추억점수_구현_광호.py: -------------------------------------------------------------------------------- 1 | def solution(name, yearning, photo): 2 | answer = [] 3 | d = dict(zip(name, yearning)) 4 | hap = 0 5 | for i in photo: 6 | hap = 0 7 | for j in i: 8 | hap += d.get(j) if d.get(j) else 0 9 | answer.append(hap) 10 | return answer -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_문자열여러번뒤집기_정렬_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(my_string, queries) { 2 | const arr = [...my_string] 3 | queries.forEach(([s,e]) => { 4 | for(let i=0; i<(e-s)/2; i++) { 5 | [arr[s+i], arr[e-i]] = [arr[e-i], arr[s+i]] 6 | } 7 | }) 8 | return arr.join('') 9 | } 10 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_조건에 맞게 수열 변환하기 1_구현_재영.js: -------------------------------------------------------------------------------- 1 | function solution(arr) { 2 | var answer = []; 3 | for(let i=0; i=50 && arr[i]%2===0) answer.push(arr[i]/2) 5 | else if(arr[i]<50 && arr[i]%2!==0) answer.push(arr[i]*2) 6 | else answer.push(arr[i]) 7 | } 8 | return answer; 9 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_음양 더하기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(absolutes, signs) { 2 | let answer = 0; 3 | for(let i = 0; i < absolutes.length; i++){ 4 | if(signs[i]){ 5 | answer += absolutes[i]; 6 | } else { 7 | answer -= absolutes[i]; 8 | } 9 | } 10 | return answer; 11 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_카드 뭉치_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(cards1, cards2, goal) { 2 | for (const s of goal) { 3 | if (cards1[0] == s) { 4 | cards1.shift(); 5 | } else if (cards2[0] == s) { 6 | cards2.shift(); 7 | } else { 8 | return "No"; 9 | } 10 | } 11 | return "Yes"; 12 | } 13 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_각도기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | # https://school.programmers.co.kr/learn/courses/30/lessons/120829 2 | 3 | def solution(angle): 4 | if 0 < angle < 90: 5 | return 1 6 | elif angle == 90: 7 | return 2 8 | elif 90 < angle < 180: 9 | return 3 10 | else: 11 | return 4 12 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_짝수홀수개수_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(num_list): 2 | even_list = [] 3 | odd_list = [] 4 | 5 | for i in num_list: 6 | if i % 2 == 0: 7 | even_list.append(i) 8 | else: 9 | odd_list.append(i) 10 | 11 | return [len(even_list), len(odd_list)] -------------------------------------------------------------------------------- /src/assets/images/btn-top_dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_점의 위치 구하기_구현_하은.js: -------------------------------------------------------------------------------- 1 | function solution(dot) { 2 | if(dot[0]>0 && dot[1]>0){ 3 | return 1 4 | } 5 | else if(dot[0]<0 && dot[1]>0){ 6 | return 2 7 | } 8 | else if(dot[0]<0 && dot[1]<0){ 9 | return 3 10 | } 11 | else return 4 12 | 13 | 14 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_평행_완전탐색_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(dots) { 2 | for(let i = 1; i < dots.length; i++) { 3 | const arr = [...dots] 4 | const [pick] = arr.splice(i,1) 5 | if ((arr[0][0]-pick[0])*(arr[1][1]-arr[2][1])===(arr[0][1]-pick[1])*(arr[1][0]-arr[2][0])) return 1 6 | } 7 | return 0 8 | } 9 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_두 정수 사이의 합_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(a, b) { 2 | let answer = 0; 3 | if (a > b){ 4 | for(let i = b; i <= a; i++){ 5 | answer += i 6 | } 7 | } else { 8 | for(let i = a; i <= b; i++){ 9 | answer += i 10 | } 11 | } 12 | return answer; 13 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_직사각형 별찍기_구현_지수.js: -------------------------------------------------------------------------------- 1 | process.stdin.setEncoding("utf8"); 2 | process.stdin.on("data", (data) => { 3 | const n = data.split(" "); 4 | const a = Number(n[0]), 5 | b = Number(n[1]); 6 | 7 | const row = "*".repeat(a); 8 | for (let i = 0; i < b; i++) { 9 | console.log(row); 10 | } 11 | }); 12 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_최소직사각형_완전탐색_지수.js: -------------------------------------------------------------------------------- 1 | function solution(sizes) { 2 | let width = []; 3 | let height = []; 4 | sizes 5 | .map((x) => x.sort((a, b) => b - a)) 6 | .map((x) => { 7 | width.push(x[0]); 8 | height.push(x[1]); 9 | }); 10 | return Math.max(...width) * Math.max(...height); 11 | } 12 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_2020_프로그래머스_두개뽑아서더하기_집합_하연.js: -------------------------------------------------------------------------------- 1 | function solution(numbers) { 2 | const answer = []; 3 | for (let i = 0; i < numbers.length-1; i++) { 4 | for (let j = i+1; j < numbers.length; j++) { 5 | answer.push(numbers[i] + numbers[j]); 6 | } 7 | } 8 | return [...new Set(answer)].sort((a, b) => a - b); 9 | } -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_이진변환반복하기_재귀_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(s, x=0, y=0) { 2 | function rec(s) { 3 | if(s === '1') return 4 | const t = s.replaceAll('0','') 5 | y += s.length - t.length 6 | x++ 7 | rec(t.length.toString(2)) 8 | } 9 | rec(s) 10 | return [x,y] 11 | } 12 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_짝수 홀수 개수_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(num_list): 2 | even_count = 0 3 | odd_count = 0 4 | 5 | for i in num_list: 6 | if i % 2 == 0: 7 | even_count += 1 8 | else: 9 | odd_count += 1 10 | 11 | result = [even_count, odd_count] 12 | return result 13 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_대문자와 소문자_구현_가람.js: -------------------------------------------------------------------------------- 1 | function solution(my_string) { 2 | let result = ""; 3 | for(let i of my_string){ 4 | if(i === i.toUpperCase()){ 5 | result += i.toLowerCase(); 6 | }else{ 7 | result += i.toUpperCase(); 8 | } 9 | } 10 | return result; 11 | } 12 | -------------------------------------------------------------------------------- /data/js/lv0/lv0_0000_프로그래머스_팩토리얼_구현_사라.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | let ans = 1; 3 | 4 | for (let i = 1; i <= n; i++) { 5 | ans *= i; 6 | 7 | if (ans === n) { 8 | return i; 9 | } 10 | 11 | if (ans > n) { 12 | return i - 1; 13 | } 14 | } 15 | 16 | return answer; 17 | } 18 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_제일 작은 수 제거하기_구현_재영.js: -------------------------------------------------------------------------------- 1 | function solution(arr) { 2 | var answer = []; 3 | if(arr.length===1){ 4 | return [-1] 5 | }else{ 6 | m = Math.min(...arr) 7 | for(let i of arr){ 8 | if(i!==m) answer.push(i) 9 | } 10 | } 11 | 12 | return answer; 13 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_푸드파이트대회_구현_하연.js: -------------------------------------------------------------------------------- 1 | function solution(food) { 2 | let answer = ''; 3 | food.forEach((num, i) => { 4 | answer += `${i}`.repeat(Math.trunc(num / 2)); 5 | }) 6 | return answer + '0' + answer.split('').reverse().join(''); 7 | } 8 | 9 | // https://school.programmers.co.kr/learn/courses/30/lessons/134240 -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_삼각형의완성조건(2)_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(sides): 2 | result = [] 3 | side = sorted(sides) 4 | 5 | min = side[1] - side[0] 6 | max = side[0] + side[1] 7 | 8 | for i in range(min, max): 9 | if min < i < max: 10 | result.append(i) 11 | 12 | return len(result) -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_시저 암호_구현_영조.py: -------------------------------------------------------------------------------- 1 | def solution(s, n): 2 | l = list(s) 3 | for i in range(len(s)): 4 | if l[i].isupper(): 5 | l[i] = chr((ord(l[i]) - ord('A') + n) % 26 + ord('A')) 6 | elif l[i].islower(): 7 | l[i] = chr((ord(l[i]) - ord('a') + n) % 26 + ord('a')) 8 | return ''.join(l) -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_행렬의 덧셈_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(arr1, arr2) { 2 | let result = []; 3 | for (let i = 0; i < arr1.length; i++) { 4 | let sum = []; 5 | for (let k = 0; k < arr1[i].length; k++) { 6 | sum.push(arr1[i][k] + arr2[i][k]); 7 | } 8 | result.push(sum); 9 | } 10 | return result; 11 | } 12 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_행렬의덧셈_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(arr1, arr2) { 2 | let answer = []; 3 | 4 | for (let i = 0; i < arr1.length; i++) { 5 | let tempArr = []; 6 | 7 | for (let j = 0; j < arr1[0].length; j++) tempArr.push(arr1[i][j] + arr2[i][j]); 8 | 9 | answer.push(tempArr); 10 | } 11 | return answer; 12 | } 13 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_순서쌍의_개수_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | num_1 = [] 3 | num_2 = [] 4 | for x in range(1, n+1): 5 | if n % x == 0: 6 | num_1.append(x) 7 | for i in num_1: 8 | for j in num_1: 9 | if i * j == n: 10 | num_2.append((i, j)) 11 | return len(num_2) -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_컨트롤제트_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | numbers = s.split() 3 | result = [] 4 | for num in numbers: 5 | if num.isdigit() or num.startswith('-'): 6 | result.append(int(num)) 7 | elif num == 'Z': 8 | if result: 9 | result.pop() 10 | return sum(result) -------------------------------------------------------------------------------- /data/py/lv2/Lv2_0000_프로그래머스_숫자의 표현_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = 0 3 | 4 | for i in range(1,n+1): 5 | d = [0] 6 | num = i 7 | while sum(d) parseInt(x) <= parseInt(p)).length; 9 | } 10 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_2018_카카오_비밀지도_구현_의호.js: -------------------------------------------------------------------------------- 1 | function solution(n, arr1, arr2) { 2 | answer = []; 3 | const zip = (a, b) => a.map((v, i) => [v, b[i]]); 4 | for ([i, j] of zip(arr1, arr2)) { 5 | answer.push( 6 | (i | j).toString(2).padStart(n, "0").replace(/1/g, "#").replace(/0/g, " ") 7 | ); 8 | } 9 | return answer; 10 | } 11 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_프로그래머스_행렬의덧셈_구현_지현.js: -------------------------------------------------------------------------------- 1 | function solution(arr1, arr2) { 2 | let answer = [] 3 | for(let i = 0; i< arr1.length;i++){ 4 | let sum = [] 5 | for(let j=0; j= n: 10 | break 11 | 12 | return count3[-1] -------------------------------------------------------------------------------- /data/js/lv0/lv0_0000_프로그래머스_문자열 정렬하기 (1)_구현_사라.js: -------------------------------------------------------------------------------- 1 | function solution(my_string) { 2 | let answer = []; 3 | const newArr = my_string.split(''); 4 | for (let i = 0; i < newArr.length; i++) { 5 | if (Number.isInteger(Number(newArr[i]))) { 6 | answer.push(Number(newArr[i])); 7 | } 8 | } 9 | return answer.sort(); 10 | } 11 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_두 개 뽑아서 더하기_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(numbers) { 2 | let arr = []; 3 | for (let i = 0; i < numbers.length; i++) { 4 | for (let k = i + 1; k < numbers.length; k++) { 5 | arr.push(numbers[i] + numbers[k]); 6 | } 7 | } 8 | let set = new Set(arr.sort((a, b) => a - b)); 9 | return [...set]; 10 | } 11 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_약수의개수와덧셈_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(left, right) { 2 | let sum = 0; 3 | 4 | for (let i = left; i <= right; i++) { 5 | let cnt = 0; 6 | for (let j = 1; j <= i; j++) { 7 | if (i % j === 0) cnt++; 8 | } 9 | if (cnt % 2 === 0) sum += i; 10 | else sum -= i; 11 | } 12 | 13 | return sum; 14 | } 15 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_2018_카카오_[1차]비밀지도_구현_승지.js: -------------------------------------------------------------------------------- 1 | function solution(n, arr1, arr2) { 2 | answer = []; 3 | const zip = (a, b) => a.map((v, i) => [v, b[i]]); 4 | for ([i, j] of zip(arr1, arr2)) { 5 | answer.push( 6 | (i | j).toString(2).padStart(n, "0").replace(/1/g, "#").replace(/0/g, " ") 7 | ); 8 | } 9 | return answer; 10 | } 11 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_배열 회전시키기_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(numbers, direction): 2 | 3 | if direction == "right": 4 | temp = numbers[-1] 5 | numbers.insert(0, temp) 6 | del numbers[-1] 7 | else: 8 | temp = numbers[0] 9 | numbers.append(temp) 10 | del numbers[0] 11 | 12 | return numbers 13 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_2016년_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(a, b): 2 | answer = '' 3 | 4 | d = 'THU,FRI,SAT,SUN,MON,TUE,WED'.split(',') 5 | l = [31,29,31,30,31,30,31,31,30,31,30,31] 6 | total = 0 7 | for i in range(1,a): 8 | total += l[i-1] 9 | total += b 10 | answer += d[total%7] 11 | 12 | return answer -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_특정 문자열로 끝나는 가장 긴 부분 문자열 찾기_구현_수정.js: -------------------------------------------------------------------------------- 1 | function solution(myString, pat) { 2 | const lastOccurrence = myString.lastIndexOf(pat); 3 | 4 | if (lastOccurrence !== -1) { 5 | const longestSubstr = myString.slice(0, lastOccurrence + pat.length); 6 | return longestSubstr; 7 | } 8 | 9 | return ""; 10 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_더_크게_합치기_구현_예지.js: -------------------------------------------------------------------------------- 1 | function solution(a, b) { 2 | let ab = String(a) + String(b); 3 | let ba = String(b) + String(a); 4 | 5 | if(Number(ab) < Number(ba)){ 6 | return Number(ba) 7 | }else if(Number(ab) > Number(ba)){ 8 | return Number(ab) 9 | }else{ 10 | return Number(ab)} 11 | } 12 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_직사각형 별찍기_구현_지수.js: -------------------------------------------------------------------------------- 1 | process.stdin.setEncoding("utf8"); 2 | process.stdin.on("data", (data) => { 3 | const n = data.split(" "); 4 | const a = Number(n[0]), 5 | b = Number(n[1]); 6 | 7 | const row = "*".repeat(a); 8 | for (let i = 0; i < b; i++) { 9 | console.log(row); 10 | } 11 | }); 12 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_최소직사각형_완전탐색_지수.js: -------------------------------------------------------------------------------- 1 | function solution(sizes) { 2 | let width = []; 3 | let height = []; 4 | sizes 5 | .map((x) => x.sort((a, b) => b - a)) 6 | .map((x) => { 7 | width.push(x[0]); 8 | height.push(x[1]); 9 | }); 10 | return Math.max(...width) * Math.max(...height); 11 | } 12 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_푸드 파이트 대회_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(food) { 2 | let player = []; 3 | let dish; 4 | for (let i = 1; i < food.length; i++) { 5 | dish = parseInt(food[i] / 2); 6 | for (let k = 0; k < dish; k++) { 7 | player.push(i); 8 | } 9 | } 10 | return player.join("") + 0 + player.reverse().join(""); 11 | } 12 | -------------------------------------------------------------------------------- /data/py/lv2/Lv2_0000_프로그래머스_JadenCase 문자열 만들기_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | answer = '' 3 | 4 | answer += s[0].upper() 5 | 6 | for i in range(1,len(s)): 7 | if s[i-1] == ' ' and s[i] != ' ': 8 | answer += s[i].upper() 9 | else: 10 | answer += s[i].lower() 11 | 12 | return answer 13 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_배열만들기4_스택큐_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(arr) { 2 | const stk = [] 3 | for(let i = 0; i < arr.length; i++) { 4 | if(!stk.length) stk.push(arr[i]) 5 | else { 6 | if ([...stk.slice(-1)] < arr[i]) stk.push(arr[i]) 7 | else stk.pop(), --i 8 | } 9 | } 10 | return stk; 11 | } 12 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_옷가게 할인 받기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(price) { 2 | if (price >= 500000) { 3 | return Math.floor(price - price * 0.2); 4 | } else if (price >= 300000) { 5 | return Math.floor(price - price * 0.1); 6 | } else if (price >= 100000) { 7 | return Math.floor(price - price * 0.05); 8 | } 9 | return price; 10 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_정수찾기_구현_윤정.js: -------------------------------------------------------------------------------- 1 | function solution(num_list, n) { 2 | var answer = 0; 3 | for(let i = 0; i < num_list.length; i++){ 4 | if(num_list[i] === n){ 5 | answer = 1; 6 | break 7 | } 8 | else{ 9 | answer = 0; 10 | } 11 | } 12 | return answer; 13 | } -------------------------------------------------------------------------------- /data/js/lv0/lv0_0000_프로그래머스_최댓값 만들기 (2)_구현_사라.js: -------------------------------------------------------------------------------- 1 | function solution(numbers) { 2 | let answer = []; 3 | for (let i = 0; i < numbers.length; i++) { 4 | for (let j = 0; j < numbers.length; j++) { 5 | if (i !== j) { 6 | answer.push(numbers[i] * numbers[j]); 7 | } 8 | } 9 | } 10 | return Math.max(...answer); 11 | } 12 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_행렬의 덧셈_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(arr1, arr2) { 2 | let result = []; 3 | for (let i = 0; i < arr1.length; i++) { 4 | let sum = []; 5 | for (let k = 0; k < arr1[i].length; k++) { 6 | sum.push(arr1[i][k] + arr2[i][k]); 7 | } 8 | result.push(sum); 9 | } 10 | return result; 11 | } 12 | -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_짝지어제거하기_스택큐_보경.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | let stack = []; 3 | stack.push(s[0]); 4 | for (let i = 1; i < s.length; i++) { 5 | if (stack[stack.length - 1] == s[i]) { 6 | stack.pop() 7 | } else { 8 | stack.push(s[i]) 9 | } 10 | } 11 | return stack.length ? 0 : 1; 12 | } -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_최댓값과최솟값_준혁.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | var answer = ''; 3 | 4 | let arr = s.split(' '); 5 | arr = arr.map(item => { 6 | return parseInt(item, 10); 7 | }); 8 | const min = Math.min.apply(null, arr); 9 | const max = Math.max.apply(null, arr); 10 | 11 | answer = min + ' ' + max; 12 | 13 | return answer; 14 | } 15 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_문자열 내 p와 y의 개수_구현_성철.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | y_list = [] 3 | p_list = [] 4 | for i in s: 5 | if i == 'p' or i == 'P': 6 | p_list.append(i) 7 | elif i == 'y' or i == 'Y': 8 | y_list.append(i) 9 | 10 | if len(y_list) == len(p_list): 11 | return True 12 | return False -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_크기가 작은 부분문자열_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(t, p) { 2 | let array = []; 3 | for (let i = 0; i < t.length; i++) { 4 | if (t.slice(i, i + p.length).length == p.length) { 5 | array.push(t.slice(i, i + p.length)); 6 | } 7 | } 8 | return array.filter((x) => parseInt(x) <= parseInt(p)).length; 9 | } 10 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_콜라츠 추측_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(num) { 2 | for (let i = 0; i <= 500; i++) { 3 | if (num === 1) { 4 | return i; 5 | } else if (i === 500) { 6 | return -1; 7 | } else if (num % 2 === 0) { 8 | num = num / 2; 9 | } else if (num % 2 !== 0) { 10 | num = (num * 3) + 1; 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_이진 변환 반복하기_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | let binary = 0 3 | let zero = 0 4 | 5 | while(s !== "1"){ 6 | zero += s.split('').filter(x => x === '0').length 7 | s = s.split('').filter(x => x !== '0').length 8 | s = s.toString(2) 9 | binary++ 10 | } 11 | return [binary, zero] 12 | } 13 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_문자열 내 p와 y의 개수_구현_선빈.py: -------------------------------------------------------------------------------- 1 | import re 2 | 3 | 4 | def solution(s): 5 | p_p = re.compile('p|P') 6 | p_y = re.compile('y|Y') 7 | 8 | p_count = len(p_p.findall(s)) 9 | y_count = len(p_y.findall(s)) 10 | 11 | answer = True if p_count == y_count or p_count == y_count == 0 else False 12 | 13 | return answer 14 | 15 | 16 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_2018_프로그래머스_소수 만들기_구현_재영.py: -------------------------------------------------------------------------------- 1 | from itertools import combinations 2 | 3 | def solution(nums): 4 | answer = 0 5 | 6 | for e in combinations(nums,3): 7 | answer+=check(sum(e)) 8 | 9 | return answer 10 | 11 | def check(num): 12 | for i in range(2,num//2+1): 13 | if num%i == 0: 14 | return 0 15 | return 1 -------------------------------------------------------------------------------- /data/py/lv2/Lv2_0000_프로그래머스_올바른괄호_스택큐_재호.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | result = 0 3 | 4 | for i in s: 5 | if i == '(': 6 | result += 1 7 | else: 8 | result -= 1 9 | if result < 0: 10 | return False 11 | 12 | if result == 0: 13 | return True 14 | else: 15 | return False -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_K번째수_정렬_지수.js: -------------------------------------------------------------------------------- 1 | function solution(array, commands) { 2 | let cmArr = []; 3 | let result = []; 4 | for (let i = 0; i < commands.length; i++) { 5 | cmArr.push( 6 | array.slice(commands[i][0] - 1, commands[i][1]).sort((a, b) => a - b) 7 | ); 8 | result.push(cmArr[i][commands[i][2] - 1]); 9 | } 10 | return result; 11 | } 12 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_영어가싫어요_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(numbers): 2 | num = {'zero' : '0', 'one' : '1', 'two' : '2', 3 | 'three' : '3', 'four' : '4', 'five' : '5', 4 | 'six' : '6', 'seven' : '7', 'eight' : '8', 5 | 'nine' : '9'} 6 | for word, number in num.items(): 7 | numbers = numbers.replace(word, number) 8 | return int(numbers) -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_문자열_출력하기_구현_예지.js: -------------------------------------------------------------------------------- 1 | const readline = require('readline'); 2 | const rl = readline.createInterface({ 3 | input: process.stdin, 4 | output: process.stdout 5 | }); 6 | 7 | let input = []; 8 | 9 | rl.on('line', function (line) { 10 | input = [line]; 11 | }).on('close',function(){ 12 | str = input[0]; 13 | console.log(str) 14 | }); 15 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_소수찾기_에라토스테네스의체_하연.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | const arr = [...Array(n-1).keys()].map(v => v+2); 3 | for (let i = 2; i < Math.sqrt(n); i++) { 4 | if (arr[i-2] !== null) { 5 | for (let j = 2; i * j <= n; j++) { 6 | arr[i * j - 2] = null; 7 | } 8 | } 9 | } 10 | return arr.filter(v => v !== null).length; 11 | } -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_약수의 개수와 덧셈_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(left, right): 2 | answer = 0 3 | 4 | d = {} 5 | for a in range(left,right+1): 6 | l = [] 7 | for i in range(1,a//2+1): 8 | if a%i == 0: 9 | l.append(i) 10 | l.append(a) 11 | answer += a if len(l)%2 == 0 else -a 12 | 13 | return answer -------------------------------------------------------------------------------- /data/py/lv1/Lv1_2021_카카오_숫자_문자열과_영단어_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | num = {'zero' : '0', 'one' : '1', 'two' : '2', 3 | 'three' : '3', 'four' : '4', 'five' : '5', 4 | 'six' : '6', 'seven' : '7', 'eight' : '8', 5 | 'nine' : '9'} 6 | 7 | for word, number in num.items(): 8 | s = s.replace(word, number) 9 | 10 | return int(s) -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_명예의전당_구현_용덕.js: -------------------------------------------------------------------------------- 1 | function solution(k, score) { 2 | var answer = []; 3 | let temp = [] 4 | for (let i = 0; i < score.length; i++) { 5 | temp.push(score[i]); 6 | if (temp.length > k) { 7 | temp.splice(temp.indexOf(Math.min(...temp)),1); 8 | } 9 | answer.push(Math.min(...temp)); 10 | } 11 | return answer; 12 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_2019_카카오_실패율_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(N, stages) { 2 | let result = []; 3 | for (let i = 1; i <= N; i++) { 4 | let reach = stages.filter((x) => x >= i).length; 5 | let curr = stages.filter((x) => x === i).length; 6 | result.push([i, curr / reach]); 7 | } 8 | 9 | result.sort((a, b) => b[1] - a[1]); 10 | return result.map((x) => x[0]); 11 | } 12 | -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_올바른괄호_스택큐_원영.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | let isOpen = 0; 3 | s = s.split(''); 4 | 5 | for (let i = 0; i < s.length; i++) { 6 | if (s[i] === '(') { 7 | isOpen++; 8 | } else { 9 | if (isOpen < 1) { 10 | return false; 11 | } 12 | isOpen--; 13 | } 14 | } 15 | return isOpen === 0 ? true : false; 16 | } 17 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_최소직사각형_완전탐색_재호.py: -------------------------------------------------------------------------------- 1 | def solution(sizes): 2 | max_size = [] 3 | min_size = [] 4 | 5 | for x, y in sizes: 6 | if x >= y : 7 | max_size.append(x) 8 | min_size.append(y) 9 | else: 10 | max_size.append(y) 11 | min_size.append(x) 12 | 13 | return max(max_size) * max(min_size) -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_분수의덧셈_구현_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(numer1, denom1, numer2, denom2) { 2 | let numer = numer1*denom2 + numer2*denom1 3 | let denom = denom1 * denom2 4 | for(let i = ~~(denom/2); i > 1; i--){ 5 | if(!(numer % i) && !(denom % i)) { 6 | numer /= i 7 | denom /= i 8 | } 9 | } 10 | return [numer, denom] 11 | } 12 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_나누어 떨어지는 숫자 배열_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(arr, divisor) { 2 | var answer = []; 3 | for (let i = 0; i < arr.length; i++) { 4 | if (arr[i] % divisor === 0) { 5 | answer.push(arr[i]); 6 | } 7 | } 8 | if (answer.length === 0) { 9 | answer.push(-1) 10 | } 11 | answer.sort((a, b) => a - b); 12 | 13 | return answer; 14 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_삼총사_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(number) { 2 | let result = 0; 3 | for (let i = 0; i < number.length - 2; i++) { 4 | for (let k = i + 1; k < number.length - 1; k++) { 5 | for (let j = k + 1; j < number.length; j++) { 6 | number[i] + number[k] + number[j] == 0 ? result++ : null; 7 | } 8 | } 9 | } 10 | return result; 11 | } 12 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_수박수박수박수박수박수_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = '' 3 | 4 | for i in range(0, n): 5 | if i % 2: 6 | answer += '박' 7 | else: 8 | answer += '수' 9 | return answer 10 | 11 | 12 | # 다른풀이 13 | def solution_b(n): 14 | string = "수박" * n 15 | 16 | return string[:n] 17 | 18 | 19 | print(solution(3)) 20 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_직사각형별찍기_구현_지현.js: -------------------------------------------------------------------------------- 1 | process.stdin.setEncoding('utf8'); 2 | process.stdin.on('data', data => { 3 | const n = data.split(" "); 4 | const a = Number(n[0]), b = Number(n[1]); 5 | for(let i = 0;i console.log(a)); 14 | }); 15 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_개미군단_완전탐색_윤정.js: -------------------------------------------------------------------------------- 1 | function solution(hp) { 2 | let minAnts = Infinity; 3 | 4 | for (let i = 0; i <= hp / 5; i++) { 5 | const remainingHp = hp - i * 5; 6 | const j = Math.floor(remainingHp / 3); 7 | const k = remainingHp % 3; 8 | 9 | const totalAnts = i + j + k; 10 | minAnts = Math.min(minAnts, totalAnts); 11 | } 12 | 13 | return minAnts; 14 | } 15 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_삼총사_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(number) { 2 | let result = 0; 3 | for (let i = 0; i < number.length - 2; i++) { 4 | for (let k = i + 1; k < number.length - 1; k++) { 5 | for (let j = k + 1; j < number.length; j++) { 6 | number[i] + number[k] + number[j] == 0 ? result++ : null; 7 | } 8 | } 9 | } 10 | return result; 11 | } 12 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_약수의 개수와 덧셈_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(left, right) { 2 | let measure = 0; 3 | let answer = 0; 4 | for (let i = left; i <= right; i++) { 5 | for (let k = 1; k <= i; k++) { 6 | if (i % k == 0) { 7 | measure++; 8 | } 9 | } 10 | measure % 2 == 0 ? (answer += i) : (answer -= i); 11 | measure = 0; 12 | } 13 | return answer; 14 | } 15 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_월간코드챌린지시즌2_약수의 개수와 덧셈_구현_성철.py: -------------------------------------------------------------------------------- 1 | def solution(left, right): 2 | answer = [] 3 | for i in range(left, right + 1): 4 | sub = [] 5 | for j in range(1, i + 1): 6 | if i % j == 0: 7 | sub.append(i) 8 | if len(sub) % 2: 9 | answer.append(-i) 10 | else: 11 | answer.append(i) 12 | return sum(answer) -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_명예의 전당 (1)_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(k, score) { 2 | let best = [] 3 | let result = [] 4 | for(let i=0;i b-a) 7 | 8 | if(best.length > k){ 9 | best.pop() 10 | } 11 | result.push(Math.min(...best)) 12 | } 13 | return result 14 | } 15 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_문자열 내 p와 y의 개수_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(s){ 2 | let p = []; 3 | let y = []; 4 | let str = s.toUpperCase().split(""); 5 | 6 | for(let i = 0; i < str.length; i++){ 7 | if(str[i] === "P") { 8 | p.push(str[i]) 9 | } 10 | if (str[i] === "Y") { 11 | y.push(str[i]) 12 | } 13 | } 14 | return p.length === y.length 15 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_문자열나누기_구현_하연.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | let answer = 0; 3 | let current; 4 | let count = 0; 5 | for(let i = 0; i < s.length; i++) { 6 | if(count === 0) { 7 | answer++; 8 | current = s[i]; 9 | count = 1; 10 | } else { 11 | current === s[i] ? count++ : count--; 12 | } 13 | } 14 | return answer; 15 | } -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_카펫_완전탐색_보경.js: -------------------------------------------------------------------------------- 1 | function solution(brown, yellow) { 2 | const total = brown + yellow; 3 | 4 | for (let i = 3; i * i <= total; i++) { 5 | if (total % i === 0) { 6 | let col = total / i; 7 | let row = i; 8 | if ((col - 2) * (row - 2) === yellow) { 9 | return [col, row]; 10 | } 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_최소직사각형_완전탐색_재영.py: -------------------------------------------------------------------------------- 1 | def solution(sizes): 2 | answer = 0 3 | 4 | number = [i for i in range(len(sizes))] 5 | w = [x for x,y in sizes] 6 | h = [y for x,y in sizes] 7 | 8 | for i in number: 9 | if w[i] 0 ? 1 : 0; 4 | let y = dot[1] > 0 ? 1 : 0; 5 | 6 | if (x === 1 && y === 1) { 7 | return 1; 8 | } else if (x === 0 && y === 1) { 9 | return 2; 10 | } else if (x === 0 && y === 0) { 11 | return 3; 12 | } else { 13 | return 4; 14 | } 15 | return answer; 16 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_문자열 내림차순으로 배치하기_구현_가은.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | let answer = s.split("").sort((a, b) => { 3 | if(a < b) return 1; 4 | if(a === b) return 0; 5 | if(a > b) return -1; 6 | }).join(""); 7 | 8 | return answer; 9 | } 10 | 11 | function solution(s) { 12 | return s 13 | .split("") 14 | .sort() 15 | .reverse() 16 | .join(""); 17 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_가장가까운글자_구현_용덕.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | s = s.split(''); 3 | let answer = new Array(s.length).fill(-1) 4 | for (let i = 0; i < s.length; i++) { 5 | for (let j = i - 1; j >= 0; j--) { 6 | if (s[i] === s[j]) { 7 | // console.log(i); 8 | answer[i] = (i - j); 9 | break; 10 | } 11 | } 12 | } 13 | return answer 14 | } -------------------------------------------------------------------------------- /data/js/lv1/Lv1_2021_카카오_신규아이디추천_구현_하연.js: -------------------------------------------------------------------------------- 1 | function solution(new_id) { 2 | new_id = new_id 3 | .toLowerCase() 4 | .replace(/[^\w\-\.]/g, '') 5 | .replace(/\.{2,}/g, '.') 6 | .replace(/^\.|\.$/g, '') 7 | .replace(/^$/, 'a') 8 | .slice(0,15).replace(/\.$/, ''); 9 | return new_id.length > 2 ? new_id : new_id + new_id[new_id.length - 1].repeat(3 - new_id.length); 10 | } 11 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_수박수박수박수박수박수_구현_선빈.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = '' 3 | 4 | for i in range(0, n): 5 | if i % 2: 6 | answer += '박' 7 | else: 8 | answer += '수' 9 | return answer 10 | 11 | 12 | # 다른풀이 13 | def solution_b(n): 14 | string = "수박" * n 15 | 16 | return string[:n] 17 | 18 | 19 | print(solution(3)) 20 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_직사각형넓이구하기_구현_지현.js: -------------------------------------------------------------------------------- 1 | function solution(dots) { 2 | let rowArr = [] 3 | let row = 0 4 | let colArr = [] 5 | let col = 0 6 | dots.forEach((item)=>{ 7 | rowArr.push(item[0]) 8 | row = Math.max(...rowArr) - Math.min(...rowArr) 9 | colArr.push(item[1]) 10 | col = Math.max(...colArr) - Math.min(...colArr) 11 | }) 12 | return row * col 13 | } 14 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_약수의 개수와 덧셈_구현_지수.js: -------------------------------------------------------------------------------- 1 | function solution(left, right) { 2 | let measure = 0; 3 | let answer = 0; 4 | for (let i = left; i <= right; i++) { 5 | for (let k = 1; k <= i; k++) { 6 | if (i % k == 0) { 7 | measure++; 8 | } 9 | } 10 | measure % 2 == 0 ? (answer += i) : (answer -= i); 11 | measure = 0; 12 | } 13 | return answer; 14 | } 15 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_최소직사각형_완전탐색_현태.js: -------------------------------------------------------------------------------- 1 | function solution(sizes) { 2 | 3 | sizes.forEach(size => size.sort((a,b) => b-a)) 4 | let row = Number.MIN_SAFE_INTEGER; 5 | let col = Number.MIN_SAFE_INTEGER; 6 | 7 | for(let size of sizes){ 8 | const [a,b] = size; 9 | row = Math.max(a, row); 10 | col = Math.max(b, col); 11 | } 12 | 13 | return row*col 14 | 15 | } -------------------------------------------------------------------------------- /data/py/lv2/Lv2_0000_프로그래머스_올바른 괄호_스택큐_재영.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | answer = True 3 | 4 | stack = [] 5 | 6 | for c in s: 7 | if not stack and c == ')': 8 | return False 9 | if c == '(': 10 | stack.append(c) 11 | elif stack[-1] == '(' and c == ')': 12 | stack.pop() 13 | 14 | if stack: 15 | return False 16 | 17 | return answer -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_둘만의암호_구현_하연.js: -------------------------------------------------------------------------------- 1 | function solution(s, skip, index) { 2 | const alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'] 3 | .filter(v => !skip.includes(v)); 4 | let answer = ''; 5 | for (const v of s) { 6 | answer += alphabet[(alphabet.indexOf(v) + index) % alphabet.length]; 7 | } 8 | return answer; 9 | } -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_한번만등장한문자_해시_윤정.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | const count = {}; 3 | 4 | for (let char of s) { 5 | count[char] = count[char] ? count[char] + 1 : 1; 6 | } 7 | 8 | const uniqueChars = []; 9 | 10 | for (let char in count) { 11 | if (count[char] === 1) { 12 | uniqueChars.push(char); 13 | } 14 | } 15 | 16 | uniqueChars.sort(); 17 | 18 | return uniqueChars.join(""); 19 | } 20 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_삼총사_구현_상용.js: -------------------------------------------------------------------------------- 1 | function solution(number) { 2 | let result = 0; 3 | 4 | for (let i = 0, length = number.length; i < length; i++) { 5 | for (let j = i + 1; j < length; j++) { 6 | for (let k = j + 1; k < length; k++) { 7 | let sum = number[i] + number[j] + number[k]; 8 | if (sum) continue; 9 | result++; 10 | } 11 | } 12 | } 13 | 14 | return result; 15 | } 16 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_2019_카카오_실패율_정렬_하연.js: -------------------------------------------------------------------------------- 1 | function solution(N, stages) { 2 | const cnt = {}; 3 | for (let i = 1; i <= N + 1; i++) cnt[i] = 0; 4 | stages.forEach(v => cnt[v]++); 5 | 6 | const answer = []; 7 | let num = stages.length; 8 | for (let i = 1; i <= N; i++) { 9 | answer.push([i, cnt[i] / num]); 10 | num -= cnt[i]; 11 | } 12 | return answer.sort((a, b) => b[1] - a[1]).map(v => v[0]); 13 | } -------------------------------------------------------------------------------- /data/py/lv1/Lv1_2021_프로그래머스_로또의 최고 순위와 최저 순위_구현_재영.py: -------------------------------------------------------------------------------- 1 | def solution(lottos, win_nums): 2 | answer = [] 3 | s=0 4 | f=0 5 | 6 | rank = [6,6,5,4,3,2,1] 7 | 8 | for i in lottos: 9 | if i == 0: 10 | s+=1 11 | continue 12 | if i in win_nums: 13 | s+=1 14 | f+=1 15 | 16 | answer = [rank[s],rank[f]] 17 | 18 | 19 | return answer -------------------------------------------------------------------------------- /src/js/store.js: -------------------------------------------------------------------------------- 1 | import { updateCharts } from './chartpage.js'; 2 | 3 | class Store { 4 | isDarkMode; 5 | 6 | get getDarkMode() { 7 | return this.isDarkMode; 8 | } 9 | 10 | set setDarkMode(newMode) { 11 | this.isDarkMode = newMode; 12 | if (window.location.pathname === '/') { 13 | updateCharts({ newMode }); 14 | } 15 | } 16 | } 17 | 18 | const store = new Store(); 19 | 20 | export default store; 21 | -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_문자열_반복해서_출력하기_구현_예지.js: -------------------------------------------------------------------------------- 1 | const readline = require('readline'); 2 | const rl = readline.createInterface({ 3 | input: process.stdin, 4 | output: process.stdout 5 | }); 6 | 7 | let input = []; 8 | 9 | rl.on('line', function (line) { 10 | input = line.split(' '); 11 | }).on('close', function () { 12 | str = input[0]; 13 | n = Number(input[1]); 14 | console.log(str.repeat(n)); 15 | }); 16 | -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_프로세스_스택큐_혜연.js: -------------------------------------------------------------------------------- 1 | function solution(priorities, location) { 2 | let count = 0 3 | const maxArr = [...priorities].sort((a,b) => a-b) 4 | for(let i = 0; true; i++){ 5 | if(priorities[i] === maxArr.slice(-1)*1) { 6 | count++ 7 | maxArr.pop() 8 | if(i === location) return count 9 | } 10 | if(i === priorities.length) i = -1 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /data/js/lv2/Lv2_2022_카카오_k진수에서소수개수구하기_구현_원영.js: -------------------------------------------------------------------------------- 1 | function solution(n, k) { 2 | var answer = 0; 3 | n.toString(k) 4 | .split('0') 5 | .filter((a) => a !== '' && a !== '1') 6 | .map(Number) 7 | .forEach((a, i) => { 8 | for (let i = 2; i <= Math.sqrt(a); i++) { 9 | if (a % i === 0) { 10 | return false; 11 | } 12 | } 13 | answer++; 14 | }); 15 | 16 | return answer; 17 | } 18 | -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_추억점수_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(name, yearning, photo): 2 | result = [] 3 | 4 | for i in photo: 5 | sum_ = 0 6 | for j in range(len(i)): 7 | if i[j] in name: 8 | index_ = name.index(i[j]) 9 | sum_ += yearning[index_] 10 | else: 11 | pass 12 | 13 | result.append(sum_) 14 | 15 | return result -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_콜라츠추측_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(num): 2 | result = 0 3 | for i in range(501): 4 | if num % 2 == 0: 5 | num /= 2 6 | result += 1 7 | if num == 1: 8 | return result 9 | elif num == 1: 10 | return 0 11 | elif num % 2 != 0: 12 | num = num * 3 + 1 13 | result += 1 14 | if num != 1: 15 | return -1 -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_문자열계산하기_구현_지현.js: -------------------------------------------------------------------------------- 1 | function solution(my_string) { 2 | let arr = my_string.split(' ') 3 | let operator = '+'; 4 | let answer = 0 5 | for(let i = 0;i<=my_string.length;i++){ 6 | let num = Number(arr[i]) 7 | if(isNaN(num)){ 8 | operator = arr[i] 9 | }else{ 10 | operator == '+'?answer += num:answer -= num 11 | } 12 | } 13 | return answer 14 | } 15 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_삼총사_구현_수정.js: -------------------------------------------------------------------------------- 1 | function solution(number) { 2 | const n = number.length; 3 | let count = 0; 4 | 5 | for (let i = 0; i < n - 2; i++) { 6 | for (let j = i + 1; j < n - 1; j++) { 7 | for (let k = j + 1; k < n; k++) { 8 | if (number[i] + number[j] + number[k] === 0) { 9 | count++; 10 | } 11 | } 12 | } 13 | } 14 | 15 | return count; 16 | } 17 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_숫자짝꿍_구현_하연.js: -------------------------------------------------------------------------------- 1 | function solution(X, Y) { 2 | const cntX = [0,0,0,0,0,0,0,0,0,0]; 3 | const cntY = [0,0,0,0,0,0,0,0,0,0]; 4 | 5 | for (const x of X) cntX[x]++; 6 | for (const y of Y) cntY[y]++; 7 | 8 | let answer = ''; 9 | for (let i = 9; i >= 0; i--) { 10 | answer += `${i}`.repeat(Math.min(cntX[i], cntY[i])); 11 | } 12 | return !answer ? '-1' : answer[0] === '0' ? '0' : answer; 13 | } -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_카드뭉치_스택큐_광호.py: -------------------------------------------------------------------------------- 1 | def solution(cards1, cards2, goal): 2 | answer = '' 3 | for i in goal: 4 | if i in cards1: 5 | if cards1.pop(0) != i: 6 | answer = 'No' 7 | break 8 | if i in cards2: 9 | if cards2.pop(0) != i: 10 | answer = 'No' 11 | break 12 | if not(answer): 13 | answer = 'Yes' 14 | return answer -------------------------------------------------------------------------------- /data/py/lv1/Lv1_2024_PCCE 기출문제 9번_이웃한 칸_구현_성철.py: -------------------------------------------------------------------------------- 1 | def solution(board, h, w): 2 | answer = 0 3 | color = board[h][w] 4 | n = len(board) 5 | dh, dw = [0, 1, -1, 0], [1, 0, 0, -1] 6 | 7 | for i in range(4): 8 | h_check, w_check = h + dh[i], w + dw[i] 9 | if 0 <= h_check < n and 0 <= w_check < n: 10 | if color == board[h_check][w_check]: 11 | answer += 1 12 | 13 | return answer -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_햄버거만들기_스택큐_하연.js: -------------------------------------------------------------------------------- 1 | function solution(ingredient) { 2 | const stk = []; 3 | let count = 0; 4 | ingredient.forEach(v => { 5 | stk.push(v); 6 | if (stk[stk.length-1] === 1 && 7 | stk[stk.length-2] === 3 && 8 | stk[stk.length-3] === 2 && 9 | stk[stk.length-4] === 1) { 10 | count++; 11 | stk.splice(-4); 12 | } 13 | }) 14 | return count; 15 | } -------------------------------------------------------------------------------- /data/py/lv1/Lv1_0000_프로그래머스_이상한문자만들기_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | result = [] 3 | split_s = s.split(' ') 4 | 5 | for i in split_s: 6 | result_word = '' 7 | for x in range(len(i)): 8 | if x % 2 == 0: 9 | result_word += i[x].upper() 10 | else: 11 | result_word += i[x].lower() 12 | 13 | result.append(result_word) 14 | 15 | return ' '.join(result) -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_덧셈식_출력하기_구현_예지.js: -------------------------------------------------------------------------------- 1 | const readline = require('readline'); 2 | const rl = readline.createInterface({ 3 | input: process.stdin, 4 | output: process.stdout 5 | }); 6 | 7 | let input = []; 8 | 9 | rl.on('line', function (line) { 10 | input = line.split(' '); 11 | }).on('close', function () { 12 | const [first, second] = input.map(a => Number(a)) 13 | console.log(`${first} + ${second} = ${first + second}`); 14 | }); 15 | -------------------------------------------------------------------------------- /data/js/lv1/Lv1_0000_프로그래머스_달리기경주_해시_태수.js: -------------------------------------------------------------------------------- 1 | function solution(players, callings) { 2 | const obj = {} 3 | players.forEach((name, i) => { 4 | obj[name] = i 5 | }) 6 | callings.forEach((name) => { 7 | const idx = obj[name] 8 | const front = players[idx - 1] 9 | players[idx] = front 10 | players[idx - 1] = name 11 | obj[name] -= 1 12 | obj[front] += 1 13 | }) 14 | return players 15 | } 16 | -------------------------------------------------------------------------------- /data/py/lv0/Lv0_0000_프로그래머스_모스부호(1)_구현_재호.py: -------------------------------------------------------------------------------- 1 | def solution(letter): 2 | morse = { 3 | '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f', 4 | '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l', 5 | '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r', 6 | '...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x', 7 | '-.--':'y','--..':'z'} 8 | letter = letter.split(' ') 9 | return ''.join(morse[i] for i in letter) -------------------------------------------------------------------------------- /data/js/lv0/Lv0_0000_프로그래머스_최빈값구하기_구현_승지.js: -------------------------------------------------------------------------------- 1 | function solution(array) { 2 | let arr = new Map(); 3 | 4 | for (let i of array) { 5 | arr.set(i, (arr.get(i) || 0) + 1); 6 | } 7 | 8 | let result = [...arr].sort((a, b) => b[0] - a[0]); // 원소 먼저 정렬 9 | result.sort((a, b) => b[1] - a[1]); // 최빈값 정렬 10 | 11 | if (result.length === 1) return result[0][0]; 12 | else if (result[0][1] === result[1][1]) return -1; 13 | else return result[0][0]; 14 | } 15 | -------------------------------------------------------------------------------- /data/js/lv2/Lv2_0000_프로그래머스_타겟넘버_DFS_승지.js: -------------------------------------------------------------------------------- 1 | function solution(numbers, target) { 2 | let answer = 0; 3 | 4 | function dfs(index, currentSum) { 5 | if (index === numbers.length) { 6 | if (currentSum === target) { 7 | answer++; 8 | } 9 | return; 10 | } 11 | 12 | dfs(index + 1, currentSum + numbers[index]); 13 | dfs(index + 1, currentSum - numbers[index]); 14 | } 15 | 16 | dfs(0, 0); 17 | 18 | return answer; 19 | } 20 | --------------------------------------------------------------------------------