├── .DS_Store ├── .gitignore ├── .vscode ├── c_cpp_properties.json ├── launch.json └── tasks.json ├── BOJ ├── .swp ├── 1002.터렛 │ ├── 6047198844.cpp │ └── 6047198844.py ├── 10026.적록색약 │ ├── 6047198844.py │ ├── rockmiin.py │ ├── sangmandu.py │ └── 적록색약_10026.py ├── 10039.평균 점수 │ └── 6047198844.py ├── 1005.ACM Craft │ └── 6047198844.py ├── 1009.분산처리 │ └── 6047198844.cpp ├── 1010.다리 놓기 │ └── 6047198844.cpp ├── 10101.삼각형 외우기 │ └── 6047198844.py ├── 10103.주사위 게임 │ └── 6047198844.py ├── 1011.Fly me to the Alpha Centauri │ └── 6047198844.cpp ├── 1012.유기농 배추 │ └── 6047198844.cpp ├── 10156.과자 │ └── 6047198844.py ├── 10159.저울 │ └── 6047198844.cpp ├── 1016.제곱 ㄴㄴ 수 │ └── 6047198844.py ├── 10162.전자레인지 │ └── 6047198844.py ├── 10170.NFC West vs North │ └── 6047198844.py ├── 1018.체스판 다시 칠하기 │ └── 6047198844.cpp ├── 1019.책 페이지 │ └── 6047198844.py ├── 1021.회전하는 큐 │ └── 6047198844.cpp ├── 1025.제곱수 찾기 │ └── 6047198844.py ├── 1027.고층 건물 │ └── sangmandu.py ├── 10282.해킹 │ └── 6047198844.py ├── 1030.프렉탈 평면 │ └── sAp00n.py ├── 1032.명령 프롬프트 │ └── 6047198844.cpp ├── 1037.약수 │ └── 6047198844.cpp ├── 1038.감소하는 수 │ └── 6047198844.py ├── 1043.거짓말 │ └── 6047198844.py ├── 10448.유레카 이론 │ └── 6047198844.py ├── 10451.순열 사이클 │ └── rockmiin.py ├── 1051.숫자 정사각형 │ ├── 6047198844.py │ └── sangmandu.py ├── 10546.배부른 마라토너 │ └── 6047198844.py ├── 1058.친구 │ └── sangmandu.py ├── 10610.30 │ └── 6047198844.cpp ├── 1062.가르침 │ └── 6047198844.py ├── 1068.트리 │ ├── 6047198844.py │ ├── sAp00n.py │ └── sAp00n_BFS.py ├── 1069.DNA │ └── 6047198844.py ├── 10711.모래성 │ └── 6047198844.py ├── 1072.게임 │ └── 6047198844.py ├── 1074.Z │ └── 6047198844.py ├── 1075,나누기 │ └── 6047198844.py ├── 10757.큰 수 A+B │ └── 6047198844.cpp ├── 10766.특별한 날 │ └── 6047198844.py ├── 10773.제로 │ └── s2uyeoii.c ├── 10775.공항 │ └── 6047198844.py ├── 10797.10부제 │ └── 6047198844.py ├── 10798.세로읽기 │ └── 6047198844.py ├── 1080.행렬 │ └── 6047198844.py ├── 10815.숫자 카드 │ ├── 6047198844.py │ └── rockmiin.py ├── 10816.숫자 카드 2 │ ├── 6047198844.cpp │ └── 6047198844.py ├── 10819.차이를 최대로 │ └── 6047198844.cpp ├── 10826.피보나치 수 4 │ └── sangmandu.py ├── 10830.행렬 제곱 │ └── 10830_행렬 제곱.cpp ├── 10833.사과 │ └── 6047198844.py ├── 10844.쉬운 계단 수 │ └── rockmiin.py ├── 1085.직사각형에서 탈출 │ └── 6047198844.cpp ├── 10867.중복 뺴고 정렬하기 │ ├── 6047198844.py │ └── rockmiin.py ├── 10870.피보나치 수 5 │ └── sangmandu.py ├── 1092.배 │ └── 6047198844.py ├── 10926.??! │ └── 6047198844.py ├── 1094.막대기 │ └── 6047198844.py ├── 10942.팰린드롬? │ └── 6047198844.py ├── 10988.팰린드롬인지 확인하기 │ └── 6047198844.py ├── 11000.강의실 배정 │ └── 6047198844.py ├── 11003.최솟값 찾기 │ └── 6047198844.py ├── 11047.동전0 │ └── rockmiin.py ├── 11048.이동하기 │ └── 6047198844.cpp ├── 11049.행렬 곱셈 순서 │ └── 6047198844.py ├── 11050.이항 계수 1 │ └── 6047198844.cpp ├── 11051.이항 계수 2 │ ├── 6047198844.cpp │ └── ms9849.cpp ├── 11052. 카드 구매하기 │ └── 6047198844.cpp ├── 11052.카드 구매하기 │ └── rockmiin.py ├── 11054.가장 긴 바이토닉 부분 수열 │ └── 6047198844.cpp ├── 11055.가장 큰 증가 부분 수열 │ └── 6047198844.cpp ├── 11057.오르막 수 │ └── Munang.py ├── 1106.호텔 │ ├── sAp00n.py │ └── sangmandu.py ├── 11066.파일 합치기 │ └── 6047198844.cpp ├── 1110.더하기 사이클 │ └── sangmandu.py ├── 11170.0의 개수 │ └── 6047198844.py ├── 1120.문자열 │ └── 6047198844.py ├── 11256.사탕 │ └── 6047198844.py ├── 11279.최대 힙 │ └── 6047198844.cpp ├── 11286.절댓값 힙 │ └── 6047198844.cpp ├── 11365.!밀비 급일 │ └── 6047198844.py ├── 1138.한 줄로 서기 │ └── sangmandu.py ├── 11382.꼬마 정민 │ └── 6047198844.py ├── 11399.ATM │ ├── 6047198844.cpp │ └── rockmiin.py ├── 11401.이항계수 3 │ └── 6047198844.cpp ├── 11403.경로 찾기 │ ├── 6047198844.py │ └── rockmiin.py ├── 11404.플로이드 │ └── 6047198844.cpp ├── 1141.접두사 │ └── sangmandu.py ├── 11437.LCA │ └── 6047198844.py ├── 11438.LCA 2 │ └── 6047198844.py ├── 11444.피보나치 수 6 │ └── 11444_피보나치 수 6.cpp ├── 11478.서로 다른 부분 문자열의 개수 │ └── 6047198844.py ├── 1149. RGB거리 │ └── rockmiin.py ├── 11502.세 개의 소수 문제 │ └── 6047198844.py ├── 11505.구간 곱 구하기 │ └── 6047198844.py ├── 11508.2+1 세일 │ └── 6047198844.py ├── 1152.단어의 개수 │ └── 6047198844.py ├── 11559.Puyo Puyo │ └── 6047198844.py ├── 11561.징검다리 │ └── 6047198844.py ├── 11562.백양로 브레이크 │ └── 6047198844.py ├── 1157.단어 공부 │ └── 6047198844.py ├── 1159.농구 경기 │ └── 6047198844.py ├── 11653.소인수분해 │ ├── 6047198844.cpp │ └── 6047198844.py ├── 11657.타임머신 │ └── 6047198844.cpp ├── 1166.선물 │ └── 6047198844.py ├── 11660.구간 합 구하기 5 │ └── 6047198844.py ├── 11725.트리의 부모 찾기 │ ├── input_data.md │ └── sAp00n.py ├── 11728.배열 합치기 │ └── 6047198844.cpp ├── 11729.하노이 탑 이동 순서 │ └── 6047198844.py ├── 11779.최소비용 구하기 2 │ └── 6047198844.py ├── 1181.단어 정렬 │ ├── 6047198844.cpp │ └── rockmiin.py ├── 1182.부분수열의 합 │ └── 6047198844.py ├── 11866.요세푸스 문제 0 │ └── 6047198844.cpp ├── 1188.음식 평론가 │ └── 6047198844.py ├── 11942.고려대는 사랑입니다. │ └── 6047198844.py ├── 11942.고려대는 사랑입니다 │ └── 6047198844.py ├── 11943.파일 옮기기 │ └── 6047198844.py ├── 11948.과목선택 │ └── 6047198844.py ├── 1197.최소 스패닝 트리 │ └── 6047198844.py ├── 1199.오일러 회로 │ ├── 6047198844.cpp │ └── sAp00n.py ├── 12015.가장 긴 증가하는 부분 수열 2 │ └── 6047198844.py ├── 1202.보석 도둑 │ └── 6047198844.py ├── 1208.부분수열의 합 2 │ └── 6047198844.py ├── 12100.2048 (Easy) │ └── 6047198844.py ├── 1213.팰린드롬 만들기 │ └── 6047198844.py ├── 1219.오민식의 고민 │ └── 6047198844.cpp ├── 1238.파티 │ └── 6047198844.cpp ├── 1245.농장관리 │ ├── input_data.md │ └── sAp00n.py ├── 1247.부호 │ └── 6047198844.py ├── 1251.단어 나누기 │ └── 6047198844.py ├── 1260.DFS와 BFS │ ├── input_data.md │ ├── rockmiin.py │ ├── s2uyeoii.c │ └── sAp00n.py ├── 1261.알고스팟 │ ├── 6047198844.cpp │ └── dosimpact.py ├── 1264.모음의 개수 │ └── 6047198844.py ├── 1269.대칭 차집합 │ └── 6047198844.py ├── 1271.엄청난 부자2 │ └── 6047198844.py ├── 1283.단축키 지정 │ └── 6047198844.py ├── 12847.꿀 아르바이트 │ └── 6047198844.py ├── 12850.본대 산책2 │ └── 6047198844.py ├── 12852.1로 만들기 2 │ ├── 6047198844.py │ └── ms9849.cpp ├── 12865.평범한 배낭 │ └── 6047198844.cpp ├── 12886.돌 그룹 │ └── 6047198844.py ├── 12904.A와 B │ └── 6047198844.py ├── 1292.쉽게 푸는 문제 │ └── 6047198844.py ├── 1300.K번째 수 │ └── 6047198844.py ├── 1302.베스트셀러 │ └── 6047198844.py ├── 13022.늑대와 올바른 단어 │ └── 6047198844.py ├── 1312.소수 │ └── 6047198844.py ├── 1316.그룹 단어 체커 │ └── 6047198844.py ├── 13241.최소공배수 │ └── 6047198844.py ├── 1325.효율적인 해킹 │ └── 효율적인해킹_1325.py ├── 13277.큰 수 곱셈 │ └── 6047198844.py ├── 13301.타일 장식물 │ └── 6047198844.py ├── 13333.Q-인덱스 │ └── 6047198844.py ├── 1339.단어 수학 │ └── 6047198844.py ├── 13460.구슬 탈출 2 │ └── 6047198844.py ├── 13549.숨바꼭질 3 │ └── 6047198844.cpp ├── 13565.침투 │ └── 6047198844.py ├── 13702.이상한 술집 │ └── 6047198844.py ├── 1376.민식우선탐색 │ ├── input_list.md │ └── sAp00n.py ├── 1389. 케빈 베이컨의 6단계 법칙 │ ├── 6047198844.py │ └── rockmiin.py ├── 13902.개업 2 │ └── 6047198844.py ├── 13985.Equality │ └── 6047198844.py ├── 14002.가장 긴 증가하는 부분 수열 4 │ └── 와일드카드.cpp ├── 14003.가장 긴 증가하는 부분 수열 5 │ └── 6047198844.py ├── 1417.국회의원 선거 │ └── 6047198844.py ├── 14226.이모티콘 │ └── 6047198844.cpp ├── 1427.소트인사이드 │ └── 6047198844.cpp ├── 1436.영화감독 숌 │ └── 6047198844.cpp ├── 1439.뒤집기 │ └── 6047198844.py ├── 14395.4연산 │ └── 6047198844.py ├── 14405.피카츄 │ └── 6047198844.py ├── 14425.문자열 집합 │ └── 6047198844.py ├── 1446.지름길 │ └── 6047198844.py ├── 14467.소가 길을 건너간 이유 1 │ └── 6047198844.py ├── 1449.수리공 항승 │ └── 6047198844.py ├── 14490.백대열 │ └── 6047198844.py ├── 14500.테트로미노 │ └── 6047198844.cpp ├── 14501.퇴사 │ └── 6047198844.py ├── 14502.연구소 │ ├── 6047198844.py │ ├── rockmiin.py │ └── sangmandu.py ├── 14503.로봇 청소기 │ └── 6047198844.py ├── 14575.뒤풀이 │ └── 6047198844.py ├── 14582.오늘도 졌다 │ └── 6047198844.py ├── 1463. 1로 만들기 │ └── rockmiin.py ├── 14712.넴모넴모 (Easy) │ └── 6047198844.py ├── 14719. 빗물 │ └── sangmandu.py ├── 14722.우유 도시 │ └── 6047198844.py ├── 14725.개미굴 │ └── 6047198844.py ├── 14727.퍼즐 자르기 │ └── 6047198844.cpp ├── 14729.칠무해 │ └── 6047198844.py ├── 1484.다이어트 │ └── 6047198844.py ├── 1487.물건 팔기 │ └── 6047198844.py ├── 14888.연산자 끼워넣기 │ ├── 6047198844.cpp │ └── ms9849.cpp ├── 14889. 스타트와 링크 │ └── ms9849.cpp ├── 14890.경사로 │ └── 6047198844.py ├── 14912.숫자 빈도수 │ └── 6047198844.py ├── 14916.거스름돈 │ └── 6047198844.py ├── 14928.큰 수 (BIG) │ └── 6047198844.py ├── 1503.세 수 고르기 │ └── 6047198844.py ├── 1504.특정한 최단 경로 │ └── 6047198844.cpp ├── 1509.팰린드롬 분할 │ └── 6047198844.py ├── 1516.게임 개발 │ └── 6047198844.py ├── 1520.내리막길 │ └── 6047198844.cpp ├── 15312.이름 궁합 │ └── 6047198844.py ├── 1541.잃어버린 괄호 │ ├── 6047198844.cpp │ └── ms9849.cpp ├── 15439.Vera and Outfits │ └── 6047198844.py ├── 1550.16진수 │ └── 6047198844.py ├── 15591.MooTube (Silver) │ └── 6047198844.cpp ├── 1562.계단 수 │ └── 6047198844.py ├── 15652.N과 M (4) │ └── 6047198844.cpp ├── 15680.연세대학교 │ └── 6047198844.py ├── 15686.치킨 배달 │ └── 6047198844.py ├── 15719.중복된 숫자 │ └── 6047198844.py ├── 15727.조별과제를 하려는데 조장이 사라졌다 │ └── 6047198844.py ├── 15733.나는 누구인가 │ └── 6047198844.py ├── 15787.기차가 어둠을 헤치고 은하수를 │ └── sangmandu.py ├── 15829.Hashing │ └── 6047198844.py ├── 15873,공백 없는 A+B │ └── 6047198844.py ├── 15904.UCPC는 무엇의 약자일까? │ └── 6047198844.py ├── 15963.CASIO │ └── 6047198844.py ├── 15970.화살표 그리기 │ └── 6047198844.py ├── 15993.1, 2, 3 더하기 8 │ └── 6047198844.py ├── 1600.말이 되고픈 원숭이 │ └── 6047198844.cpp ├── 1613.역사 │ └── 6047198844.cpp ├── 16162.가희와 3단 고음 │ └── 6047198844.py ├── 16173.점프왕 쪨리 (Small) │ └── 6047198844.py ├── 16197.두 동전 │ └── 6047198844.py ├── 16198.에너지 모으기 │ └── 6047198844.py ├── 1620.나는야 포켓몬 마스터 이다솜 │ └── 6047198844.py ├── 16204.카드 뽑기 │ └── 6047198844.py ├── 16208.귀찮음 │ └── 6047198844.py ├── 16212.정열적인 정렬 │ └── 6047198844.py ├── 16234.인구 이동 │ ├── 6047198844.cpp │ └── rockmiin.py ├── 16236.아기 상어 │ └── 6047198844.py ├── 1629.곱셈 │ └── 6047198844.cpp ├── 1633.최고의 팀 만들기 │ └── 6047198844.py ├── 16394.홍익대학교 │ └── 6047198844.py ├── 16395.파스칼의 삼각형 │ └── 6047198844.py ├── 16430.제리와 톰 │ └── 6047198844.py ├── 16435.스네이크버드 │ └── 6047198844.py ├── 16439.치킨치킨치킨 │ └── 6047198844.py ├── 1647.도시 분할 계획 │ └── 6047198844.py ├── 16507.어두운 건 무서워 │ └── 6047198844.py ├── 16508.전공책 │ └── 6047198844.py ├── 1654.랜선 자르기 │ ├── 6047198844.cpp │ └── rockmiin_1654.py ├── 1655.가운데를 말해요 │ └── 6047198844.cpp ├── 16637.괄호 추가하기 │ └── 6047198844.py ├── 1668.트로피 진열 │ └── 6047198844.py ├── 16724.피리 부는 사나이 │ └── 6047198844.py ├── 16918.봄버맨 │ └── 6047198844.py ├── 16922.로마 숫자 만들기 │ └── 6047198844.py ├── 16928.뱀과 사다리 게임 │ └── 6047198844.py ├── 16929.Two Dots │ └── 6047198844.cpp ├── 16937.두 스티커 │ └── 6047198844.py ├── 16938.캠프 준비 │ └── 6047198844.py ├── 16946.벽 부수고 이동하기 4 │ └── 6047198844.py ├── 16948.데스 나이트 │ └── 6047198844.py ├── 16951.블록 놀이 │ └── 6047198844.py ├── 16954.움직이는 미로 탈출 │ └── 6047198844.py ├── 16960.스위치와 램프 │ └── 6047198844.py ├── 16987.계란으로 계란치기 │ └── 6047198844.py ├── 1699.제곱수의 합 │ ├── 6047198844.py │ └── 제곱수의_합_1699.py ├── 1707.이분그래프 │ ├── .vscode │ │ └── launch.json │ └── 6047198844.cpp ├── 17070.파이프 옮기기1 │ └── 6047198844.cpp ├── 17128.소가 정보섬에 올라온 이유 │ └── 6047198844.py ├── 17135.캐슬 디펜스 │ └── 6047198844.py ├── 17136.색종이 붙이기 │ └── 6047198844.py ├── 17141.연구소 2 │ └── 6047198844.py ├── 17143.낚시왕 │ └── 6047198844.py ├── 1718.암호 │ └── 6047198844.py ├── 17219.비밀번호 찾기 │ └── 6047198844.py ├── 1725.히스토그램 │ ├── 1725_히스토그램.cpp │ └── sAp00n.py ├── 17255.N으로 만들기 │ └── 6047198844.py ├── 1726.로봇 │ └── 6047198844.py ├── 17265.나의 인생에는 수학과 함께 │ └── 6047198844.py ├── 17298.오큰수 │ └── 6047198844.cpp ├── 1735.분수 합 │ └── 6047198844.py ├── 17362.수학은 체육과목 입니다2 │ └── 6047198844.py ├── 1738.골목길 │ └── 6047198844.cpp ├── 17404.RGB거리 2 │ └── 6047198844.cpp ├── 17413.단어 뒤집기2 │ └── 6047198844.py ├── 17478.재귀함수가 뭔가요? │ └── 6047198844.py ├── 1753. 최단 경로 │ └── rockmiin.py ├── 1753.최단경로 │ └── 6047198844.cpp ├── 1755.숫자놀이 │ └── 6047198844.py ├── 1758.알바생 강호 │ └── 6047198844.py ├── 1759.암호만들기 │ └── 6047198844.cpp ├── 1761.정점들의 거리 │ └── 6047198844.py ├── 17626.Four Squares │ └── 6047198844.py ├── 1764. 듣보잡 │ └── ms9849.cpp ├── 1764.듣보잡 │ ├── 6047198844.py │ └── rockmiin.py ├── 1766.문제집 │ └── 6047198844.py ├── 1769.3의 배수 │ └── 6047198844.py ├── 17829.222-풀링 │ └── 6047198844.py ├── 1789.수들의 합 │ └── 6047198844.py ├── 1799.비숍 │ └── 6047198844.py ├── 1806.부분합 │ ├── 6047198844.cpp │ └── 6047198844.py ├── 18108.1998년생인 내가 태국에서는 2541년생?! │ └── 6047198844.py ├── 18111.마인크래프트 │ └── 6047198844.py ├── 1817.짐 챙기는 숌 │ └── 6047198844.py ├── 18258.큐 2 │ └── 6047198844.cpp ├── 18312.시각 │ └── 6047198844.py ├── 1834.나머지와 몫이 같은 수 │ └── 6047198844.py ├── 18353.병사 배치하기 │ └── 6047198844.py ├── 18512.점프 점프 │ └── 6047198844.py ├── 1864.문어 숫자 │ └── 6047198844.py ├── 1865.웜홀 │ └── 6047198844.py ├── 1874.스택 수열 │ └── 6047198844.py ├── 18868.멀티버스 Ⅰ │ └── 6047198844.py ├── 18870.좌표 압축 │ └── 6047198844.cpp ├── 1890.점프 │ └── 6047198844.cpp ├── 1895.필터 │ └── 6047198844.py ├── 1904.01타일 │ └── 6047198844.cpp ├── 1916.최소비용 구하기 │ └── 1916_최소비용 구하기.cpp ├── 1918.후위 표기식 │ └── 6047198844.py ├── 1920.수 찾기 │ └── 6047198844.cpp ├── 19238.스타트 택시 │ └── 6047198844.py ├── 1926.그림 │ └── 6047198844.py ├── 1927.최소 힙 │ └── 6047198844.cpp ├── 1929.소수 구하기 │ └── 6047198844.py ├── 1931. 회의실 배정 │ └── rockmiin.py ├── 1932.정수 삼각형 │ ├── 6047198844.cpp │ ├── ms9849.cpp │ └── sAp00n.py ├── 1937.욕심쟁이 판다 │ └── 6047198844.py ├── 1940.주몽 │ └── 6047198844.py ├── 1942.디지털시계 │ └── 6047198844.py ├── 1946.신입 사원 │ ├── 6047198844.py │ └── rockmiin.py ├── 19532.수학은 비대면강의입니다 │ └── 6047198844.py ├── 19583.싸이버개강총회 │ └── 6047198844.py ├── 1963.소수 경로 │ └── 6047198844.py ├── 1966.프린터 큐 │ └── 6047198844.cpp ├── 19698.헛간 청약 │ └── 6047198844.py ├── 1977.완전제곱수 │ └── 6047198844.py ├── 1978.소수 찾기 │ └── 6047198844.py ├── 19844.단어 개수 세기 │ └── 6047198844.py ├── 1987.알파벳 │ ├── 6047198844.py │ └── sangmandu.py ├── 1990.소수인펠린드롬 │ └── 6047198844.py ├── 19939.박 터트리기 │ └── 6047198844.py ├── 19942.다이어트 │ └── 6047198844.py ├── 19951.태상이의 훈련소 생활 │ └── 6047198844.py ├── 20040.사이클 게임 │ └── 6047198844.py ├── 20053.최소, 최대 2 │ └── 6047198844.py ├── 2014.소수의 곱 │ └── 6047198844.py ├── 20154.이 구역의 승자는 누구야?! │ └── 6047198844.py ├── 2018.수들의 합 5 │ └── 6047198844.py ├── 2023.신기한 소수 │ └── 6047198844.py ├── 2042.구간 합 구하기 │ └── 6047198844.cpp ├── 20436.ZOAC 3 │ └── 6047198844.py ├── 20499.Darius님 한타 안함? │ └── 6047198844.py ├── 20546.🐜 기적의 매매법 🐜 │ └── 6047198844.py ├── 20551.Sort 마스터 배지훈의 후계자 │ └── 6047198844.py ├── 20944.팰린드롬 척화비 │ └── 6047198844.py ├── 2096.내려가기 │ └── 6047198844.py ├── 2098.외판원 순회 │ └── 6047198844.py ├── 2104.부분배열 │ └── sAp00n.py ├── 2108.통계학 │ └── 6047198844.cpp ├── 2110 공유기 설치 │ └── rockmiin.py ├── 2110.공유기 설치 │ └── 6047198844.cpp ├── 21312.홀짝 칵테일 │ └── 6047198844.py ├── 21313.문어 │ └── 6047198844.py ├── 2143.두 배열의 합 │ └── 6047198844.py ├── 2156.포도주 시식 │ └── rockmiin.py ├── 2160.그림 비교 │ └── 6047198844.py ├── 2161.카드1 │ └── 6047198844.py ├── 21610.마법사 상어와 비바라기 │ └── 6047198844.py ├── 2164.카드2 │ ├── 6047198844.cpp │ └── 6047198844.py ├── 2167.2차원 배열의 합 │ └── 6047198844.py ├── 2170.선 긋기 │ └── 6047198844.py ├── 2174.로봇 시뮬레이션 │ └── 6047198844.py ├── 21756.지우개 │ └── 6047198844.py ├── 2178.미로 탐색 │ └── rockmiin.py ├── 21918.전구 │ └── 6047198844.py ├── 21919.소수 최소 공배수 │ └── 6047198844.py ├── 2193.이친수 │ └── rockmiin.py ├── 21937.작업 │ └── 6047198844.py ├── 2206.벽 부수고 이동하기 │ ├── 6047198844.py │ └── rockmiin.py ├── 2217.로프 │ ├── 6047198844.cpp │ ├── 6047198844.py │ └── rockmiin.py ├── 2231.분해합 │ └── 6047198844.cpp ├── 2239.스도쿠 │ └── 6047198844.py ├── 2240.자두나무 │ └── 6047198844.py ├── 2243.사탕상자 │ └── 6047198844.py ├── 2252.줄 세우기 │ ├── 6047198844.cpp │ └── 6047198844.py ├── 22864.피로도 │ └── 6047198844.py ├── 2293.동전 1 │ └── 6047198844.cpp ├── 2303.숫자 게임 │ └── 6047198844.py ├── 2338.긴자리 계산 │ └── 6047198844.py ├── 2342.Dance Dance Revolution │ └── 6047198844.py ├── 2346.풍선 터트리기 │ └── 6047198844.py ├── 2357.최솟값과 최댓값 │ └── 6047198844.py ├── 23795.사장님 도박은 재미로 하셔야 합니다 │ └── 6047198844.py ├── 23825.SASA 모형을 만들어보자 │ └── 6047198844.py ├── 24039.2021은 무엇이 특별할까 │ └── 6047198844.py ├── 2407.조합 │ └── 6047198844.py ├── 2420.사파리월드 │ └── 6047198844.py ├── 2422.한윤정이 이탈리아에 가서 아이스크림을 사먹는데 │ └── 6047198844.py ├── 24262.알고리즘 수업 - 알고리즘의 수행 시간 1 │ └── 6047198844.py ├── 2437.저울 │ └── 6047198844.cpp ├── 2444.별 찍기 - 7 │ └── 6047198844.py ├── 2447.별찍기 - 10 │ └── 6047198844.cpp ├── 2457.공주님의 정원 │ └── 6047198844.py ├── 2467.용액 │ ├── 6047198844.py │ └── ms9849.cpp ├── 2468.안전 영역 │ ├── 6047198844.cpp │ └── rockmiin.py ├── 2473.세 용액 │ └── 6047198844.py ├── 2475.검증수 │ └── 6047198844.py ├── 2476.주사위 게임 │ └── 6047198844.py ├── 2480.주사위 세개 │ └── 6047198844.py ├── 2485.가로수 │ └── 6047198844.py ├── 2490.윷놀이 │ └── 6047198844.py ├── 2493.탑 │ └── 6047198844.py ├── 2504.괄호의 값 │ └── 6047198844.py ├── 25083.새싹 │ └── 6047198844.py ├── 2517.달리기 │ └── 6047198844.cpp ├── 25191.치킨댄스를 추는 곰곰이를 본 임스 │ └── 6047198844.py ├── 2523.별찍기-13 │ └── 6047198844.py ├── 2525.오븐 시계 │ └── 6047198844.py ├── 2526.전깃줄 │ └── sAp00n.py ├── 2529.부등호 │ └── 6047198844.py ├── 2533.사회망 서비스(SNS) │ └── 6047198844.py ├── 2553.마지막 펙토리얼 수 │ └── 6047198844.cpp ├── 2565.전깃줄 │ └── 6047198844.cpp ├── 2568.전깃줄 - 2 │ └── 6047198844.py ├── 2576.홀수 │ └── 6047198844.py ├── 2580.스도쿠 │ └── 6047198844.cpp ├── 2581.소수 │ └── 6047198844.py ├── 2583.영역 구하기 │ └── rockmiin.py ├── 2589.보물섬 │ └── 6047198844.py ├── 2606.바이러스 │ ├── 6047198844.cpp │ ├── rockmiin.py │ ├── sAp00n.py │ └── sangmandu.py ├── 2618.경찰차 │ └── 6047198844.py ├── 2623.음악프로그램 │ └── 6047198844.py ├── 2628.종이자르기 │ └── 6047198844.py ├── 2630.색종이 만들기 │ └── 6047198844.cpp ├── 2636.치즈 │ ├── 6047198844.py │ └── sangmandu.py ├── 2638.치즈 │ └── 6047198844.py ├── 2644.촌수 계산 │ └── rockmiin.py ├── 2644.촌수계산 │ └── 6047198844.cpp ├── 2651.자동차경주대회 │ └── 2651_자동차경주대회.cpp ├── 2659.십자카드 문제 │ └── 6047198844.cpp ├── 2660.회장뽑기 │ └── 6047198844.cpp ├── 2667. 단지번호붙이기 │ └── rockmiin.py ├── 2668.숫자 고르기 │ └── 6047198844.cpp ├── 2669.직사각형 네개의 합집합의 면적 구하기 │ └── 2669_직사각형 네개의 합집합의 면적 구하기.cpp ├── 2670.연속부분최대곱 │ └── 6047198844.py ├── 2693.N번째 큰 수 │ └── 6047198844.py ├── 2729.이진수 덧셈 │ ├── 6047198844.py │ └── sangmandu.py ├── 2740.행렬곱셈 │ └── sAp00n.py ├── 2744.대소문자 바꾸기 │ └── 6047198844.py ├── 2745.진법 변환 │ └── 6047198844.py ├── 2747.피보나치 수 │ ├── 6047198844.cpp │ └── sangmandu.py ├── 2748.피보나치 수 │ └── sangmandu.py ├── 2752.세수정렬 │ └── 6047198844.py ├── 2776.암기왕 │ └── 6047198844.py ├── 2792.보석 상자 │ └── 6047198844.py ├── 2798.블랙잭 │ ├── 6047198844.cpp │ └── 6047198844.java ├── 2805.나무 자르기 │ └── 6047198844.cpp ├── 2812.크게 만들기 │ └── 6047198844.py ├── 2822.점수 계산 │ └── 6047198844.py ├── 2828.사과 담기 게임 │ └── 6047198844.py ├── 2839.설탕 배달 │ ├── 6047198844.py │ ├── pul8219.js │ └── rockmiin.py ├── 2845.파티가 끝나고 난 뒤 │ └── 6047198844.py ├── 2847.게임을 만든 동준이 │ └── 6047198844.py ├── 2851.슈퍼마리오 │ └── sAp00n.py ├── 2863.이게 분수? │ └── 6047198844.py ├── 2869.달팽이는 올라가고 싶다 │ └── 6047198844.py ├── 2887.행성 터널 │ └── 6047198844.py ├── 2914.저작권 │ └── 6047198844.py ├── 2935.소음 │ └── 6047198844.py ├── 2960.에라토스테네스의 체 │ └── 6047198844.py ├── 2961.도영이가 만든 맛있는 음식 │ └── sangmandu.py ├── 2981.검문 │ └── 6047198844.cpp ├── 3009.네 번째 점 │ └── 6047198844.cpp ├── 3015.오아시스 재결합 │ └── 6047198844.py ├── 3029.경고 │ └── 6047198844.py ├── 3036.링 │ └── 6047198844.cpp ├── 3040.백설 공주와 일곱 난쟁이 │ └── 6047198844.py ├── 3053.택시 기하학 │ └── 6047198844.cpp ├── 3055.탈출 │ └── rockmiin.py ├── 3085.사탕 게임 │ └── 6047198844.py ├── 3135.라디오 │ └── 6047198844.py ├── 3176.도로 네트워크 │ └── 6047198844.py ├── 3182.한동이는 공부가 하기 싫어! │ └── sangmandu.py ├── 3190.뱀 │ └── rockmiin.py ├── 3273.두 수의 합 │ └── 6047198844.py ├── 3980.선발 명단 │ └── 6047198844.py ├── 3986.좋은 단어 │ └── 6047198844.py ├── 4101.크냐? │ └── 6047198844.py ├── 4150.피보나치 수 7 │ └── sangmandu.py ├── 4195.친구 네트워크 │ └── 6047198844.py ├── 4195.친구네트워크 │ └── dosimpact.py ├── 4358.생태학 │ └── 6047198844.py ├── 4386.별자리 만들기 │ └── 6047198844.py ├── 4485.녹색 옷 입은 애가 젤다지 │ └── 6047198844.cpp ├── 4659.비밀번호 발음하기 │ └── 6047198844.py ├── 4690.완전 세제곱 │ └── 6047198844.py ├── 4796.캠핑 │ └── 6047198844.py ├── 4803.트리 │ └── 6047198844.py ├── 4948.베르트랑 공준 │ └── 6047198844.cpp ├── 4963.섬의 개수 │ └── rockmiin.py ├── 5014.스타트 링크 │ └── rockmiin.py ├── 5014.스타트링크 │ └── 6047198844.cpp ├── 5086.배수와 약수 │ └── 6047198844.cpp ├── 5337.웰컴 │ └── 6047198844.py ├── 5338.마이크로소프트 로고 │ └── 6047198844.py ├── 5430.AC │ └── 6047198844.cpp ├── 5522.카드 게임 │ └── 6047198844.py ├── 5532.방학 숙제 │ └── 6047198844.py ├── 5535.간판 │ └── 6047198844.py ├── 5554.심부름 가는 길 │ └── 6047198844.py ├── 5557.1학년 │ └── 6047198844.cpp ├── 5585.거스름 돈 │ └── rockmiin_5585.py ├── 5596.시험 점수 │ └── 6047198844.py ├── 5597.과제 안 내신 분..? │ └── 6047198844.py ├── 5618.공약수 │ └── 6047198844.py ├── 5635.생일 │ └── 6047198844.py ├── 5639.이진 검색 트리 │ └── 6047198844.cpp ├── 5671.호텔 방 번호 │ └── 6047198844.py ├── 5710.전기 요금 │ └── sangmandu.py ├── 5719.거의 최단 경로 │ └── 6047198844.py ├── 5766.할아버지는 유명해! │ └── 6047198844.py ├── 5800.성적 통계 │ └── 6047198844.py ├── 5883.아이폰 9S │ └── 6047198844.py ├── 5904.Moo 게임 │ └── 6047198844.py ├── 6198.옥상 정원 꾸미기 │ └── ms9849.cpp ├── 6549.히스토그램에서 가장 큰 직사각형 │ └── sAp00n.py ├── 6550.부분 문자열 │ └── 6047198844.py ├── 6800.Huffman Encoding │ └── 6047198844.cpp ├── 7453.합이 0인 네 정수 │ └── 6047198844.py ├── 7507.올림픽 경기 │ └── sangmandu.py ├── 7562.나이트의 이동 │ ├── rockmiin.py │ └── sangmandu.py ├── 7568.덩치 │ └── 6047198844.cpp ├── 7569.토마토 │ ├── 6047198844.py │ ├── ms9849.cpp │ └── rockmiin.py ├── 7576.토마토 │ └── rockmiin.py ├── 7578.공장 │ └── 6047198844.py ├── 7579.앱 │ └── 6047198844.py ├── 7662.이중 우선순위 큐 │ └── sangmandu.py ├── 7785.회사에 있는 사람 │ └── 6047198844.py ├── 8979.올림픽 │ └── 6047198844.py ├── 9009.피보나치 │ └── sangmandu.py ├── 9019.DSLR │ ├── 6047198844.cpp │ └── 6047198844.py ├── 9020.골드바흐의 추측 │ └── 6047198844.cpp ├── 9024.두 수의 합 │ └── 6047198844.py ├── 9081.단어 맞추기 │ └── sangmandu.py ├── 9084.동전 │ └── 6047198844.py ├── 9085.더하기 │ └── 6047198844.py ├── 9094.수학적 호기심 │ └── 607198844.py ├── 9095.1,2,3 더하기 │ └── 6047198844.cpp ├── 9184.신나는 함수 실행 │ └── 6047198844.cpp ├── 9204.체스 │ └── sangmandu.py ├── 9205.맥주 마시면서 걸어가기 │ └── 6047198844.py ├── 9251.LCS │ └── 6047198844.cpp ├── 9252.LCS 2 │ └── 6047198844.py ├── 9316.Hello Judge │ └── 6047198844.py ├── 9324.진짜 메시지 │ └── 6047198844.py ├── 9325.얼마? │ └── 6047198844.py ├── 9328.열쇠 │ └── 6047198844.py ├── 9375.패션왕 신해빈 │ └── 6047198844.cpp ├── 9424.폭탄 해체 │ └── 6047198844.py ├── 9461.파도반수열 │ ├── 6047198844.py │ └── rockmiin.py ├── 9465.스티커 │ ├── Munang.py │ └── sAp00n.py ├── 9536.여우는 어떻게 울지? │ └── 6047198844.py ├── 9625.BABBA │ └── 6047198844.py ├── 9653.스타워즈 로고 │ └── 6047198844.py ├── 9654.나부 함대 데이터 │ └── 6047198844.py ├── 9655.돌 게임 │ └── 6047198844.py ├── 9663.N-Queen │ ├── 6047198844.cpp │ └── 6047198844.py ├── 9933.민균이의 비밀번호 │ └── 6047198844.py └── solved.ac_class │ ├── Class01 │ ├── 10818. 최소, 최대 │ │ └── sAp00n.py │ ├── 10869.사칙연산 │ │ └── sAp00n.py │ ├── 10950.A + B - 3 │ │ └── sAp00n.py │ ├── 10951.A + B - 4 │ │ └── sAp00n.py │ ├── 10952.A + B - 5 │ │ └── sAp00n.py │ ├── 11654.아스키 코드 │ │ └── sAp00n.py │ ├── 11720.숫자의 합 │ │ └── sAp00n.py │ ├── 1330.두 수 비교하기 │ │ └── sAp00n.py │ ├── 2438.별 찍기 - 1 │ │ └── sAp00n.py │ ├── 2562.최댓값 │ │ └── sAp00n.py │ ├── 2675.문자열 반복 │ │ └── sAp00n.py │ ├── 2739.구구단 │ │ └── sAp00n.py │ ├── 2920.음계 │ │ └── sAp00n.py │ └── 8958.OX퀴즈 │ │ └── sAp00n.py │ ├── Class02 │ ├── 1018.채스판 다시 칠하기 │ │ └── sAp00n.py │ ├── 10250.ACM호텔 │ │ └── sAp00n.py │ ├── 10814.나이순 정렬 │ │ └── sAp00n.py │ ├── 10816.숫자 카드2 │ │ └── sAp00n.py │ ├── 10828.스택 │ │ └── sAp00n.py │ ├── 10845.큐 │ │ └── sAp00n.py │ ├── 1085.직사각형에서 탈출 │ │ └── sAp00n.py │ ├── 10866.덱 │ │ └── sAp00n.py │ ├── 11050. 이항계수 │ │ └── sAp00n.py │ ├── 11650.좌표 정렬하기 │ │ └── sAp00n.py │ ├── 1181.단어정렬 │ │ └── sAp00n.py │ ├── 11866.요세푸스 문제 │ │ └── sAp00n.py │ ├── 1259.팰린드롬수 │ │ └── sAp00n.py │ ├── 1920.수 찾기 │ │ └── sAp00n.py │ ├── 1978.소수 찾기 │ │ └── sAp00n.py │ ├── 2164.카드2 │ │ └── sAp00n.py │ ├── 2609. 최대공약수와 최소공배수 │ │ └── sAp00n.py │ ├── 2798.블랙잭 │ │ └── sAp00n.py │ └── 9023.괄호 │ │ └── sAp00n.py │ ├── Class03 │ ├── 1003.피보나치 함수 │ │ └── sAp00n.py │ ├── 1012.유기농 배추 │ │ └── sAp00n.py │ ├── 1074.Z │ │ ├── sAp00n.md │ │ └── sAp00n.py │ ├── 11279.최대 힙 │ │ └── sAp00n.py │ ├── 11399. ATM │ │ └── sAp00n.py │ ├── 11723.집합 │ │ └── sAp00n.py │ ├── 11724.연결 요소의 개수 │ │ └── sAp00n.py │ ├── 11726.2xn 타일링 │ │ └── sAp00n.py │ ├── 1463.1로 만들기 │ │ ├── sAp00n.md │ │ └── sAp00n.py │ ├── 1620.나는야 포캣몬 마스터 이다솜 │ │ └── sAp00n.py │ ├── 1697.숨바꼭질 │ │ ├── sAp00n.py │ │ └── test_case.md │ ├── 1764.듣보잡 │ │ └── sAp00n.py │ ├── 18870.좌표 압축 │ │ └── sAp00n.py │ ├── 1927.최소 힙 │ │ └── sAp00n.py │ ├── 1931. 회의실배정 │ │ └── sAp00n.py │ ├── 2630.색종이 만들기 │ │ └── sAp00n.py │ ├── 7576.토마토 │ │ └── sAp00n.py │ ├── 7662.이중 우선순위 큐 │ │ └── sAp00n.py │ └── 9095.1, 2, 3 더하기 │ │ └── sAp00n.py │ └── Class04 │ ├── 1149.RGB거리 │ └── sAp00n.py │ ├── 1176.트리의 지름 │ └── sAp00n.py │ ├── 1629.곱셈 │ └── sAp00n.py │ ├── 1753.최단경로 │ └── sAp00n.py │ └── 1786.찾기 │ └── sAp00n.py ├── JSTestModule.js ├── LeetCode ├── Array │ ├── 3Sum │ │ ├── 6047198844.py │ │ └── HyeonJeong.py │ ├── 3Sum_Closet │ │ └── 6047198844.py │ ├── 4Sum │ │ └── 6047198844.py │ ├── Add_Two_Numbers │ │ └── wongueShin │ │ │ ├── _test.dart │ │ │ └── solution.dart │ ├── Arranging_Coins │ │ └── HyeonJeong.java │ ├── Array_Partition_I │ │ ├── 6047198844.py │ │ └── HyeonJeong.java │ ├── Best_Time_to_Buy_and_Sell_Stock │ │ └── 6047198844.py │ ├── Binary Search │ │ └── 6047198844.py │ ├── Bulb_Switcher_III │ │ └── HyeonJeong.py │ ├── Capacity To Ship Packages Within D Days │ │ └── 6047198844.cpp │ ├── Combination_Sum │ │ ├── 6047198844.py │ │ └── JeongShin.js │ ├── Combination_Sum_II │ │ └── JeongShin.js │ ├── Construct Binary Tree from Inorder and Postorder Traversal │ │ └── 6047198844.cpp │ ├── Construct_Binary_Tree_from_Preorder_and_Inorder_Traversal │ │ ├── 6047198844.cpp │ │ └── 6047198844.py │ ├── Container_With_Most_Water │ │ └── 6047198844.py │ ├── Contains_Duplicate │ │ ├── 6047198844.py │ │ └── HyeonJeong.py │ ├── Count_Negative_Numbers_in_a_Sorted_Matrix │ │ └── 6047198844.cpp │ ├── Create_Target_Array_in_the_Given_Order │ │ └── HyeonJeong.py │ ├── Distance_Between_Bus_Stops │ │ └── 6047198844.py │ ├── Fair_Candy_Swap │ │ └── HyeonJeong.java │ ├── Filter_Restaurants_by_Vegan-Friendly,_Price_and_Distance │ │ └── 6047198844.py │ ├── Find Numbers with Even Number of Digits │ │ └── 6047198844.py │ ├── Find the Highest Altitude │ │ └── 6047198844.py │ ├── Find the Town Judge │ │ └── 6047198844.py │ ├── Find_Common_Characters │ │ └── HyeonJeong.py │ ├── Find_First_and_Last_Position_of_Element_in_Sorted_Array │ │ ├── 6047198844.py │ │ └── HyeonJeong.py │ ├── Find_Pivot_Index │ │ └── HyeonJeong.java │ ├── Find_the_Duplicate_Number │ │ └── 6047198844.py │ ├── First Missing Positive │ │ └── 6047198844.py │ ├── Flipping_an_Image │ │ └── HyeonJeong.java │ ├── Insert Interval │ │ └── 6047198844.py │ ├── Intersection_of_Two_Arrays │ │ └── HyeonJeong.py │ ├── Jump Game II │ │ └── 6047198844.py │ ├── Jump Game │ │ └── 6047198844.py │ ├── Keyboard_Row │ │ └── HyeonJeong.py │ ├── Kth_Missing_Positive_Number │ │ └── HyeonJeong.py │ ├── Largest_Number_At_Least_Twice_of_Others │ │ └── 6047198844.py │ ├── Longest _Palindromic_Substring │ │ └── 6047198844.py │ ├── Longest_Common_Subsequence │ │ └── JeongShin.js │ ├── Lucky Numbers in a Matrix │ │ └── 6047198844.py │ ├── Marjority_Element │ │ ├── 6047198844.py │ │ └── HyeonJeong.py │ ├── Max_Consecutive_Ones │ │ └── HyeonJeong.java │ ├── Maximum_Ice_Cream_Bars │ │ └── HyeonJeong.py │ ├── Maximum_Subarray │ │ └── 6047198844.py │ ├── Maximum_Swap │ │ └── HyeonJeong.py │ ├── Merge_Intervals │ │ ├── 6047198844.py │ │ ├── HyeonJeong.py │ │ └── kth496.kt │ ├── Minimum_Number_of_Days_to_Make_m_Bouquets │ │ └── 6047198844.cpp │ ├── Minimum_Path_Sum │ │ └── 6047198844.cpp │ ├── Minimum_Value_to_Get_Positive_Step_by_Step_Sum │ │ └── 6047198844.cpp │ ├── Missing Number │ │ └── 6047198844.py │ ├── Missing_Number │ │ └── HyeonJeong.py │ ├── Move_Zeroes │ │ └── 6047198844.py │ ├── Peak_Index_in_a_Mountain_Array │ │ └── 6047198844.cpp │ ├── Permutations │ │ └── JeongShin.js │ ├── Permutations_II │ │ └── JeongShin.js │ ├── Plus_One │ │ ├── 6047198844.py │ │ └── HyeonJeong.py │ ├── Product_of_Array_Except_Self │ │ └── 6047198844.py │ ├── Remove Duplicates from Sorted Array II │ │ └── 6047198844.py │ ├── Remove_Duplicates_from_Sorted_Array │ │ ├── 6047198844.py │ │ └── HyeonJeong.py │ ├── Remove_Element │ │ └── 6047198844.py │ ├── Richest_Customer_Wealth │ │ └── HyeonJeong.java │ ├── Rotate_Array │ │ └── HyeonJeong.py │ ├── Rotate_Image │ │ └── 604798844.py │ ├── Running_Sum_of_1d_Array │ │ └── HyeonJeong.py │ ├── Search a 2D Matrix │ │ └── 6047198844.py │ ├── Search_Insert_Position │ │ └── HyeonJeong.py │ ├── Search_in_Rotated_Sorted_Array │ │ ├── 6047198844.py │ │ └── HyeonJoeng.py │ ├── Set Matrix Zeroes │ │ └── 6047198844.py │ ├── Single_Number │ │ ├── 6047198844.py │ │ └── HyeonJeong.java │ ├── Single_Number_III │ │ └── HyeonJeong.py │ ├── Sort Colors │ │ └── 6047198844.py │ ├── Sort_Array_By_Parity_II │ │ └── HyeonJeong.java │ ├── Sort_Colors │ │ └── HyeonJeong.py │ ├── Spiral Matrix │ │ └── 6047198844.py │ ├── Squares_of_a_Sorted_Array │ │ └── HyeonJeong.java │ ├── Summary_Ranges │ │ └── HyeonJeong.java │ ├── The_K_Weakest_Rows_in_a_Matrix │ │ └── 6047198844.cpp │ ├── Third_Maximum_Number │ │ └── HyeonJeong.java │ ├── Three Consecutive Odds │ │ └── 6047198844.py │ ├── TwoSum │ │ ├── 6047198844.py │ │ ├── HyeonJeong.py │ │ ├── JeongShin.js │ │ └── eyabc.js │ ├── Two_Sum_II_-_Input_array_is_sorted │ │ ├── 6047198844(2).cpp │ │ └── 6047198844.cpp │ ├── Unique Paths II │ │ └── 6047198844.py │ ├── Unique_Paths │ │ └── HyeonJeong.py │ ├── Word Search │ │ └── 6047198844.py │ └── zigzag_conversion │ │ └── wongue_shin.dart ├── Backtracking │ ├── Combination Sum II │ │ └── 6047198844.cpp │ ├── Combination Sum III │ │ └── 6047198844.cpp │ ├── Combination Sum IV │ │ └── 6047198844.cpp │ ├── Combination_Sum │ │ └── 6047198844.cpp │ ├── Combinations │ │ └── 6047198844.cpp │ ├── Letter_Combinations_of_a_Phone_Number │ │ └── JeongShin.js │ ├── N-Queens │ │ └── 6047198844.cpp │ ├── N-Queens_II │ │ └── 6047198844.cpp │ ├── Next Permutation │ │ └── 6047198844.cpp │ ├── Palindrome_Partitioning │ │ └── JeongShin.js │ ├── Path_with_Maximum_Gold │ │ └── kth496.kt │ ├── Permutations II │ │ └── 6047198844.cpp │ ├── Permutations │ │ └── 6047198844.cpp │ ├── Subsets │ │ └── JeongShin.js │ ├── Subsets_II │ │ └── JeongShin.js │ ├── Word_Search │ │ └── JeongShin.js │ └── Word_Search_II │ │ └── JeongShin.js ├── Binary_Search │ ├── Find_the_Smallest_Divisor_Given_a_Threshold │ │ └── 6047198844.cpp │ ├── First_Bad_Version │ │ └── 6047198844.py │ ├── Guess_Number_Higher_or_Lower │ │ └── 6047198844.py │ ├── Koko_Eating_Bananas │ │ └── 6047198844.cpp │ ├── Minimum_Size_Subarray_Sum │ │ ├── JeongShin.js │ │ └── eyabc.js │ ├── Path With Minimum Effort │ │ └── 6047198844.py │ └── Search-in-Rotated-Sorted-Array │ │ └── JeongShin.js ├── Breadth-first_Search │ ├── 01_Matrix │ │ └── JeongShin.js │ ├── Shortest_Path_in_Binary_Matrix │ │ └── 6047198844.cpp │ ├── Word_Ladder │ │ ├── 6047198844.cpp │ │ └── JeongShin.js │ └── Word_Ladder_II │ │ └── JeongShin.js ├── DP │ ├── Best_Time_to_Buy_and_Sell_Stock │ │ └── sangmandu.py │ ├── Climbing Stairs │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── Coin_Change │ │ └── JeongShin.js │ ├── Count_Sorted_Vowel_Strings │ │ └── sangmandu.py │ ├── Counting_Bits │ │ └── sangmandu.py │ ├── Divisor_Game │ │ └── sangmandu.py │ ├── Edit_Distance │ │ └── JeongShin.js │ ├── House_Robber_III │ │ └── 6047198844.py │ ├── Is Subsequence │ │ └── sangmandu.py │ ├── Longest_Increasing_Subsequence │ │ └── 6047198844.py │ ├── Maximum Subarray │ │ └── sangmandu.py │ ├── Min Cost Climbing Stairs │ │ └── sangmandu.py │ ├── MinimumPathSum │ │ ├── JeongShin.js │ │ └── ReadMe.md │ ├── Range Sum Query - Immutable │ │ └── sangmandu.py │ ├── Stone_Game II │ │ ├── 6047198844.cpp │ │ └── 6047198844.py │ ├── Unique_Paths │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ └── ReadMe.md │ ├── Word_Break │ │ └── JeongShin.js │ └── Word_Break_II │ │ └── 6047198844.cpp ├── Database │ └── Duplicate_Emails │ │ └── 6047198844 ├── Depth-first_Search │ ├── Convert_BST_to_Greater_Tree │ │ └── 6047198844.cpp │ ├── Course_Schedule │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ └── eyabc.js │ ├── Course_Schedule_II │ │ ├── JeongShin.js │ │ └── eyabc.js │ ├── Flatten Binary Tree to Linked List │ │ └── 6047198844.cpp │ ├── Letter Combinations of a Phone Number │ │ └── 6047198844.cpp │ ├── Maximum_Depth_of_Binary_Tree │ │ └── 6047198844.java │ ├── Maximum_Depth_of_N-ary_Tree │ │ └── 6047198844.java │ ├── Minimum_Depth_of_Binary_Tree │ │ └── 6047198844.java │ ├── Number of Closed Islands │ │ └── 6047198844.cpp │ ├── Number_of_Islands │ │ ├── 6047198844.cpp │ │ ├── 6047198844.py │ │ └── JeongShin.js │ ├── PathSum_II │ │ └── JeongShin.js │ ├── Reconstruct Itinerary │ │ └── 6047198844.py │ ├── Recover_Binary_Search_Tree │ │ └── 6047198844.cpp │ ├── Symmetric_Tree │ │ └── 6047198844.java │ ├── Target_Sum │ │ └── JeongShin.js │ └── Validate_Binary_Search_Tree │ │ └── 6047198844.cpp ├── Divide_and_Conquer │ └── Kth_Largest_Element_in_an_Array │ │ ├── 6047198844.py │ │ └── HyeonJeong.java ├── Graph │ ├── 787. Cheapest Flights Within K Stops │ │ └── wongue.shin │ │ │ ├── ._test.dart │ │ │ └── solution.dart │ ├── All Paths From Source to Target │ │ └── sangmandu.py │ ├── Find the Town Judge │ │ └── sangmandu.py │ ├── Find_Center_of_Star_Graph │ │ └── sangmandu.py │ ├── Find_the_City_With_the_Smallest_Number_of_Neighbors_at_a_Threshold_Distance │ │ └── 6047198844.cpp │ ├── Minimum Number of Vertices to Reach All Nodes │ │ └── sangmandu.py │ ├── Path_With_Minimum_Effort │ │ └── 6047198844.cpp │ ├── Path_with_Maximum_Probability │ │ └── 6047198844.cpp │ ├── Redundant_Connection │ │ └── sangmandu.py │ ├── Regions Cut By Slashes │ │ └── sangmandu.py │ ├── Sort Integers by The Power Value │ │ └── sangmandu.py │ └── keys-and-rooms │ │ └── sangmandu.py ├── Greedy │ ├── Split_a_String_in_Balanced_Strings │ │ └── eyabc.js │ ├── Assign_Cookies │ │ └── HyeonJeong.java │ ├── Can_Place_Flowers │ │ └── HyeonJeong.java │ ├── Car_Pooling │ │ └── HyeonJeong.py │ ├── Group_the_People_Given_the_Group_Size_They_Belong_To │ │ ├── HyeonJeong.py │ │ └── sangmandu.py │ ├── Is_Subsequence │ │ └── HyeonJoeng.py │ ├── Jump_Game │ │ └── JeongShin.js │ ├── Maximize_Sum_Of_Array_After_K_Negations │ │ └── 6047198844.cpp │ └── Remove_Covered_Intervals │ │ ├── 607198844.py │ │ └── HyeonJeong.py ├── Hash_Table │ ├── Daily Temperatures │ │ └── 6047198844.py │ ├── Find the Difference │ │ └── 6047198844.py │ ├── First_Unique_Character_in_a_String │ │ └── 6047198844.py │ ├── Grid Illumination │ │ └── 6047198844.cpp │ ├── Happy_Number │ │ └── 6047198844.py │ ├── Implement_Trie_(Prefix_Tree) │ │ └── 6047198844.py │ ├── Integer_to_Roman │ │ └── 6047198844.py │ ├── Intersection_of_Two_Arrays │ │ └── 6047198844.cpp │ ├── Isomorphic Strings │ │ └── 6047198844.py │ ├── Linked_List_Cycle │ │ └── 6047198844.py │ ├── Top_K_Frequent_Elements │ │ └── 6047198844.py │ ├── Two_Sum │ │ └── 6047198844.cpp │ ├── Valid_Anagram │ │ └── 6047198844.py │ └── Valid_Sudoku │ │ └── 6047198844.py ├── Heap │ └── Network_Delay_Time │ │ └── 6047198844.cpp ├── Linked_List │ ├── Add_Two_Numbers │ │ ├── 6047198844.py │ │ └── HyeonJeong.py │ ├── Convert_Sorted_List_to_Binary_Search_Tree │ │ └── 6047198844.cpp │ ├── Delete_Node_in_a_Linked_List │ │ └── 6047198844.py │ ├── Merge Two Sorted Lists │ │ └── 6047198844.cpp │ ├── Merge k Sorted Lists │ │ └── 6047198844.py │ ├── Odd Even Linked List │ │ └── 6047198844.py │ ├── Palindrome_Linked_List │ │ └── HyeonJeong.java │ ├── Partition List │ │ └── 6047198844.py │ ├── Remove_Duplicates_from_Sorted_List │ │ ├── 6047198844.py │ │ └── HyeonJeong.py │ ├── Remove_Linked_List_Elements │ │ └── HyeonJeong.java │ ├── Remove_Nth_Node_From_End_of_List │ │ └── 6047198844.py │ ├── Reverse_Linked_List_II │ │ └── HyeonJeong.py │ ├── Rotate List │ │ └── 6047198844.py │ ├── Swap_Nodes_in_Pairs │ │ ├── 6047198844.py │ │ └── HyeonJeong.java │ └── sangmandu.py ├── Math │ ├── Add_Binary │ │ ├── 6047198844.py │ │ └── HyeonJeong.py │ ├── Add_Digits │ │ ├── 6047198844.py │ │ └── HyeonJeong.py │ ├── Check_If_It_Is_a_Straight_Line │ │ └── HyeonJeong.java │ ├── Complement_of_Base_10_Integer │ │ └── HyeonJeong.py │ ├── Day_of_the_Week │ │ └── 6047198844.py │ ├── Day_of_the_Year │ │ ├── 6047198844.py │ │ └── HyeonJeong.py │ ├── Distribute_Candies_to_People │ │ └── HyeonJeong.java │ ├── Divide_Two_Integers │ │ └── 6047198844.py │ ├── Divisor_Game │ │ └── HyeonJeong.java │ ├── Factorial_Trailing_Zeroes │ │ └── HyeonJeong.py │ ├── Find_Numbers_with_Even_Number_of_Digits │ │ └── HyeonJeong.py │ ├── Happy_Number │ │ └── HyeonJeong.py │ ├── Maximum_Product_of_Three_Numbers │ │ └── HyeonJeong.java │ ├── Multiply Strings │ │ └── 6047198844.py │ ├── Number_of_Steps_to_Reduce_a_Number_to_Zero │ │ └── HyeonJeong.py │ ├── Palindrome Number │ │ └── 6047198844.cpp │ ├── Permutation Sequence │ │ └── 6047198844.py │ ├── Pow(x,_n) │ │ └── 6047198844.py │ ├── Power_of_Four │ │ └── 6047198844.py │ ├── Power_of_Three │ │ └── HyeonJeong.py │ ├── Power_of_Two │ │ └── 6047198844.py │ ├── Powerful_Integers │ │ └── HyeonJeong.py │ ├── Prime Arrangements │ │ └── 6047198844.py │ ├── Reverse_Integer │ │ ├── 6047198844.py │ │ ├── HyeonJeong.py │ │ └── SeokBin.java │ ├── Roman to Integer │ │ └── 6047198844.py │ ├── Rotate_Image │ │ └── HyeonJeong.py │ ├── Sqrt(x) │ │ ├── 6047198844.cpp │ │ └── HyeonJeong.py │ ├── String_to_Integer_(atoi) │ │ └── 6047198844.py │ ├── Ugly Number │ │ └── 6047198844.py │ ├── Unique Binary Search Trees │ │ └── 6047198844.py │ ├── Valid_Perfect_Square │ │ └── 6047198844.py │ └── Water_Bottles │ │ └── 6047198844.py ├── Queue │ ├── Design_Circular_Deque │ │ └── HyeonJeong.py │ └── Number_of_Recent_Calls │ │ └── HyeonJeong.py ├── Sliding_Window │ ├── Longest_Substring_Without_Repeating_Characters │ │ └── JeongShin.js │ └── Minimum_Window_Substring │ │ ├── 6047198844.cpp │ │ └── JeongShin.js ├── Sort │ └── 6047198844.cpp ├── Stack │ ├── 6047198844.py │ ├── Backspace-String-Compare │ │ └── 6047198844.cpp │ ├── Binary Tree Inorder Traversal │ │ └── 6047198844.py │ ├── Binary Tree Postorder Traversal │ │ └── 6047198844.py │ └── Implement Stack using Queues │ │ └── 6047198844.py ├── String │ ├── Complex_Number_Multiplication │ │ └── HyeonJeong.py │ ├── Count_and_Say │ │ └── 6047198844.py │ ├── Defanging_an_IP_Address │ │ └── 6047198844.py │ ├── Generate_Parentheses │ │ └── 6047198844.py │ ├── Group_Anagrams │ │ └── JeongShin.js │ ├── Implement_strStr() │ │ ├── 6047198844.py │ │ └── HyeonJeong.py │ ├── Length_of_Last_Word │ │ ├── 6047198844.py │ │ └── HyeonJeong.py │ ├── Letter_Combinations_of_a_Phone_Number │ │ ├── 6047198844.py │ │ └── HyeonJeong.py │ ├── Longest Valid Parentheses │ │ └── 6047198844.py │ ├── Longest_Common_Prefix │ │ └── 6047198844.cpp │ ├── Longest_Palindrome │ │ └── HyeonJeong.py │ ├── Longest_Substring_Without_Repeating_Characters │ │ └── HyeonJoeng.py │ ├── Make_The_String_Great │ │ └── HyeonJeong.py │ ├── Maximum_69_Number │ │ └── HyeonJeong.py │ ├── Number of Strings That Appear as Substrings in Word │ │ └── 6047198844.py │ ├── Palindromic_Substrings │ │ └── 이준수.py │ ├── Ransom_Note │ │ └── HyeonJeong.java │ ├── Rearrange_Words_in_a_Sentence │ │ └── HyeonJeong.py │ ├── Regular_Expression_Matching │ │ └── 6047198844.py │ ├── Restore IP Addresses │ │ └── 6047198844.py │ ├── Reverse_String │ │ └── HyeonJeong.java │ ├── Robot Return to Origin │ │ └── 6047198844.py │ ├── Roman_to_Integer │ │ └── HyeonJoeng.py │ ├── Rotate String │ │ └── 6047198844.py │ ├── Simplify Path │ │ └── 6047198844.py │ ├── String_to_Integer_(atoi) │ │ └── 6047198844.py │ ├── Thousand Separator │ │ └── 6047198844.py │ ├── To_Lower_Case │ │ └── HyeonJeong.java │ ├── Valid_Parentheses │ │ ├── 6047198844.py │ │ └── HyeonJeong.py │ └── ZigZag_Conversion │ │ ├── 6047198844.py │ │ ├── HyeonJeong.py │ │ └── Seokbin.java ├── Tree │ ├── Balanced_Binary_Tree │ │ └── 6047198844.py │ ├── Binary_Search_Tree_to_Greater_Sum_Tree │ │ └── 6047198844.py │ ├── Binary_Tree_Paths │ │ └── 6047198844.cpp │ ├── Convert Sorted Array to Binary Search Tree │ │ ├── 6047198844.java │ │ └── 6047198844.py │ ├── Diameter_of_Binary_Tree │ │ └── 6047198844.py │ ├── Find_Bottom_Left_Tree_Value │ │ ├── 6047198844.cpp │ │ └── val │ ├── Increasing_Order_Search_Tree │ │ └── 6047198844.cpp │ ├── Invert_Binary_Tree │ │ └── 6047198844.py │ ├── Leaf-Similar_Trees │ │ └── 6047198844.cpp │ ├── Longest_Univalue_Path │ │ └── 6047198844.py │ ├── Maximum_Depth_of_Binary_Tree │ │ └── 6047198844.py │ ├── Merge_Two_Binary_Trees │ │ └── 6047198844.py │ ├── Minimum_Height_Trees │ │ └── 6047198844.py │ ├── Path_Sum │ │ └── 6047198844.cpp │ ├── Path_Sum_II │ │ └── 6047198844.cpp │ ├── Path_Sum_III │ │ └── JeongShin.js │ ├── Same Tree │ │ └── 6047198844.cpp │ ├── Serialize_and_Deserialize_Binary_Tree │ │ └── 6047198844.py │ └── Unique_Binary_Search_Trees │ │ └── JeongShin.js ├── Trie │ ├── Design_Add_and_Search_Words_Data_Structure │ │ └── JeongShin.js │ ├── Palindrome_Pairs │ │ ├── JeongShin.js │ │ └── eyabc.js │ ├── Replace_Words │ │ └── JeongShin.js │ ├── Top_K_Frequent_Words │ │ └── JeongShin.js │ └── Word_Break │ │ └── 6047198844.py ├── Two_Pointers │ ├── Is Subsequence │ │ └── 604719844.py │ ├── Reverse_String │ │ └── 6047198844.py │ ├── Reverse_Vowels_of_a_String │ │ └── 6047198844.py │ ├── Sort_Colors │ │ └── JeongShin.js │ └── Valid Palindrome │ │ └── 6047198844.py └── Union_Find │ ├── Friend_Circles │ └── JeongShin.js │ ├── Longest_Consecutive_Sequence │ └── JeongShin.js │ ├── Redundant_Connection │ └── JeongShin.js │ ├── Redundant_Connection_II │ └── JeongShin.js │ └── Surrounded_Regions │ ├── JeongShin.js │ └── eyabc.js ├── README.md ├── Tips ├── BOJ 영업자료.md ├── Git 깃.md ├── Pull-Request.md └── images │ └── uploadSolution.png ├── codility_training ├── 11st │ └── 2020 │ │ ├── 1 │ │ ├── eyabc.js │ │ └── junilhwang.js │ │ ├── 2 │ │ └── junilhwang.js │ │ └── 3 │ │ └── junilhwang.js ├── Est2020.07 │ ├── 1.js │ ├── 2.js │ └── 3.js ├── Est2020.Exam01 │ ├── README.md │ └── junilhwang.js ├── Est2020.Exam02 │ ├── README.md │ └── junilhwang.js ├── Est2020.Exam03 │ ├── README.md │ └── junilhwang.js ├── Est2020.Exam04 │ ├── README.md │ └── junilhwang.js ├── lessons.lesson01.Iterations.BinaryGap │ ├── JeongShin.js │ ├── JunilHwang.java │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── khw970421.js │ ├── pul8219.java │ ├── sAp00n.py │ ├── sangmandu.py │ ├── sjjyy.java │ └── test.json ├── lessons.lesson02.Arrays.CyclicRotation │ ├── JeongShin.js │ ├── JunilHwang.java │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── khw970421.js │ ├── pul8219.java │ ├── sAp00n.py │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson02.Arrays.OddOccurrencesInArray │ ├── README.md │ ├── junilhwang.js │ ├── khw970421.js │ ├── pul8219.java │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson03.TimeComplexity.FrogJmp │ ├── JeongShin.js │ ├── NowonLee.js │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── khw970421.js │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson03.TimeComplexity.PermMissingElem │ ├── JeongShin.js │ ├── NowonLee.js │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── khw970421.js │ ├── pul8219.java │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson03.TimeComplexity.TapeEquilibrium │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson04.CountingElements.FrogRiverOne │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson04.CountingElements.MaxCounters │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── khw970421.js │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson04.CountingElements.MissingInteger │ ├── JeongShin.js │ ├── NowonLee.js │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson04.CountingElements.PermCheck │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── khw970421.js │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson05.PrefixSum.GenomicRangeQuery │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── sangmandu.py │ └── test.json ├── lessons.lesson05.PrefixSums.CountDiv │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── khw970421.js │ ├── sangmandu.py │ ├── sjjyy.java │ └── test.json ├── lessons.lesson05.PrefixSums.GenomicRangeQuery │ ├── README.md │ ├── eyabc.js │ ├── khw970421.js │ └── sjjyy.java ├── lessons.lesson05.PrefixSums.MinAvgTwoSlice │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── sangmandu.py │ ├── sjjyy.java │ └── test.json ├── lessons.lesson05.PrefixSums.PassingCars │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── sangmandu.py │ ├── sjjyy.java │ └── test.json ├── lessons.lesson06.Sorting.Distinct │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── khw970421.js │ ├── sangmandu.py │ ├── sjjyy.java │ └── test.json ├── lessons.lesson06.Sorting.MaxProductOfThree │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── khw970421.js │ ├── sangmandu.py │ ├── sjjyy.java │ └── test.json ├── lessons.lesson06.Sorting.NumberOfDiscIntersections │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── sangmandu.py │ ├── sjjyy.java │ └── test.json ├── lessons.lesson06.Sorting.Triangle │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── khw970421.js │ ├── sangmandu.py │ ├── sjjyy.java │ └── test.json ├── lessons.lesson07.StackandQueues.StoneWall │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson07.StacksandQueues.Brackets │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── sAp00n.py │ ├── sangmandu.py │ ├── sjjyy.java │ └── test.json ├── lessons.lesson07.StacksandQueues.Fish │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── sAp00n.py │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson07.StacksandQueues.Nesting │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── khw970421.js │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson08.Leader.Dominator │ ├── JeongShin.js │ ├── JunilHwang.java │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── sAp00n.py │ ├── sangmandu.py │ ├── sjjyy.java │ └── test.json ├── lessons.lesson08.Leader.EquiLeader │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── junilhwang.js │ ├── sAp00n.py │ ├── sangmandu.py │ ├── sjjyy.java │ └── test.json ├── lessons.lesson09.MaximumSliceProblem.MaxDoubleSliceSum │ ├── JeongShin.js │ ├── README.md │ ├── eyabc-practice.js │ ├── eyabc.js │ ├── sAp00n.py │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson09.MaximumSliceProblem.MaxProfit │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── khw970421.js │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson09.MaximumSliceProblem.MaxSliceSum │ ├── JeongShin.js │ ├── NowonLee.js │ ├── eyabc.js │ ├── sAp00n.py │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson10.PrimeAndCompositeNumbers.CountFactors │ ├── JeongShin.js │ ├── NowonLee.js │ ├── PrimeAndCompositeNumber-practice.js │ ├── README.md │ ├── eyabc.js │ ├── khw970421.js │ ├── sAp00n.py │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson10.PrimeAndCompositeNumbers.Flags │ ├── Flag.md │ ├── JeongShin.js │ ├── eyabc.js │ ├── sAp00n.py │ └── sangmandu.py ├── lessons.lesson10.PrimeAndCompositeNumbers.MinPerimeterRectangle │ ├── JeongShin.js │ ├── NowonLee.js │ ├── README.md │ ├── eyabc.js │ ├── khw970421.js │ ├── sAp00n.py │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson10.PrimeAndCompositeNumbers.Peaks │ ├── JeongShin.js │ ├── README.md │ ├── sAp00n.py │ ├── sangmandu.py │ └── sjjyy.java ├── lessons.lesson11.SieveofEratosthenes.CountNonDivisible │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── sAp00n.py │ └── sjjyy.java ├── lessons.lesson11.SieveofEratosthenes.CountSemiprimes │ ├── JeongShin.js │ ├── READMD.md │ ├── eyabc.js │ ├── sAp00n.py │ └── sjjyy.java ├── lessons.lesson12.EuclideanAlgorithm.ChocolatesByNumbers │ ├── EuclideanAlgorithm.md │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ ├── sAp00n.py │ └── sjjyy.java ├── lessons.lesson12.EuclideanAlgorithm.CommonPrimeDivisors │ ├── JeongShin.js │ ├── README.md │ ├── eyabc.js │ └── sjjyy.java ├── lessons.lesson13.FibonacciNumbers.FibFrog │ ├── JeongShin.js │ ├── README.md │ ├── sAp00n.py │ └── sjjyy.java ├── lessons.lesson13.FibonacciNumbers.Ladder │ ├── JeongShin.js │ ├── README.md │ ├── sAp00n.py │ └── sjjyy.java ├── lessons.lesson14.BinarySearchAlgorithm.MinMaxDivision │ ├── JeongShin.js │ ├── sAp00n.py │ └── sAp00n_pseudo.md ├── lessons.lesson14.BinarySearchAlgorithm.NailingPlanks │ └── JeongShin.js ├── lessons.lesson15.CaterpillarMethod.AbsDistinct │ ├── JeongShin.js │ ├── README.md │ ├── sAp00n.py │ └── sjjyy.java ├── lessons.lesson15.CaterpillarMethod.CountDistinctSlices │ ├── JeongShin.js │ ├── sAp00n.py │ └── sjjyy.java ├── lessons.lesson15.CaterpillarMethod.CountTriangles │ ├── JeongShin.js │ └── sjjyy.java ├── lessons.lesson15.CaterpillarMethod.MinAbsSumOfTwo │ ├── JeongShin.js │ └── sjjyy.java ├── lessons.lesson16.GreedyAlgorithms.MaxNonOverLappingSegments │ ├── JeongShin.js │ └── sjjyy.java ├── lessons.lesson16.GreedyAlgorithms.TieRopes │ ├── JeongShin.js │ └── sjjyy.java ├── lessons.lesson17.DynamicProgramming.MinAbsSum │ └── JeongShin.js ├── lessons.lesson17.DynamicProgramming.NumberSolitaire │ ├── JeongShin.js │ └── sjjyy.java ├── lessons.lesson90.TasksFromIndeedPrime2015Challenge.FloodDepth │ └── JeongShin.js ├── lessons.lesson90.TasksFromIndeedPrime2015Challenge.LongestPassword │ └── JeongShin.js ├── lessons.lesson90.TasksFromIndeedPrime2015Challenge.SlalomSkiing │ └── JeongShin.js ├── lessons.lesson91.TaksFromIndeedPrime2016Challenge.DwarfsRafting │ └── JeongShin.js ├── lessons.lesson91.TasksFromIndeedPrime2016Challenge.RectangleBuilderGreaterArea │ └── JeongShin.js ├── lessons.lesson91.TasksFromIndeedPrime2016Challenge.TreeProduct │ └── JeongShin.js ├── lessons.lesson92.TaskFromIndeedPrime2016CollegeCodersChallenge.SocksLaundering │ └── JeongShin.js ├── lessons.lesson92.TasksFromIndeedPrime2016.CollegeCodersChallenge.DiamondsCount │ └── JeongShin.js ├── lessons.lesson99.FutureTraining.ArrayInversionCount │ └── JeongShin.js ├── lessons.lesson99.FutureTraining.StrSymmetryPoint │ └── JeongShin.js └── lessons.lesson99.FutureTraining.TreeHeight │ └── JeongShin.js ├── package.json ├── programmers ├── .DS_Store ├── socar │ └── 1.js ├── 난이도별 │ ├── README.md │ ├── level.01.두개_뽑아서_더하기 │ │ └── temp.py │ ├── level01.2016년 │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── Siyoung-Yang.js │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── easyearn77.cpp │ │ ├── khw970421.js │ │ ├── rockmiin.py │ │ ├── s2uyeoii.c │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.3진법_뒤집기 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── develop-sell.js │ │ └── sangmandu.py │ ├── level01.K번째수 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── junilhwang.js │ │ ├── junilhwang.py │ │ ├── khw970421.js │ │ ├── pul8219.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.[1차]_다트_게임 │ │ └── 6047198844.py │ ├── level01.x만큼_간격이_있는_n개의_숫자 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── khw970421.js │ │ ├── sangmandu.py │ │ ├── sjjyy.java │ │ └── x만큼_간격_있는_n개의_숫자.py │ ├── level01.가운데_글자_가져오기 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── eyabc.js │ │ ├── rockmiin.py │ │ ├── s2uyeoii.cpp │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.같은_숫자는_싫어 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── Siyoung-Yang.java │ │ ├── develop-sell.js │ │ ├── dkdlelk00.py │ │ ├── eyabc.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.나누어_떨어지는_숫자_배열 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── khw970421.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.내적 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ └── sangmandu.py │ ├── level01.다트_게임 │ │ ├── Go-yj.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.동물의_아이디와_이름 │ │ └── 6047198844.sql │ ├── level01.두 정수 사이의 합 │ │ └── 6047198844.py │ ├── level01.두_개_뽑아서_더하기 │ │ ├── 6047198844.cpp │ │ ├── Go-yj.py │ │ ├── develop-sell.js │ │ └── sangmandu.py │ ├── level01.두_정수_사이의_합 │ │ ├── Go-yj.py │ │ ├── HyeonJeong.c │ │ ├── Jaewon0702 .py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.로또의_최고_순위와_최저_순위 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ └── sangmandu.py │ ├── level01.모든_레코드_조회하기 │ │ └── 6047198844.sql │ ├── level01.모의고사 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702 .py │ │ ├── JeongShin.js │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── junilhwang.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.문자열_내_p와_y의_개수 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.java │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── junilhwang.js │ │ ├── junilhwang.py │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ ├── sjjyy.java │ │ └── test.json │ ├── level01.문자열_내_마음대로_정렬하기 │ │ ├── 6047198844.txt │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── sangmandu.py │ │ ├── sjjyy.java │ │ └── turquoiseluv.py │ ├── level01.문자열_내림차순으로_배치하기 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── junilhwang.js │ │ ├── junilhwang.py │ │ ├── khw970421.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ ├── sjjyy.java │ │ └── test.json │ ├── level01.문자열_다루기_기본 │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.문자열을_정수로_바꾸기 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.비밀지도 │ │ ├── Go-yj.py │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── khw970421.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.상위_n개_레코드 │ │ └── 6047198844.sql │ ├── level01.서울에서_김서방_찾기 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.java │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.소수_만들기 │ │ └── sangmandu.py │ ├── level01.소수찾기 │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── dosimpact.py │ │ ├── eyabc.js │ │ ├── junilhwang-01.js │ │ ├── junilhwang-02.js │ │ ├── khw970421.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.수박수박수박수 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── s2uyeoii.cpp │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.숫자_문자열과_영단어 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level01.시저_암호 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.신규 아이디_추천 │ │ └── dosimpact.py │ ├── level01.신규_아이디_추천 │ │ ├── 6047198844.cpp │ │ ├── Go-yj.py │ │ └── sangmandu.py │ ├── level01.실패율 │ │ └── sangmandu.py │ ├── level01.아픈_동물_찾기 │ │ └── 6047198844.sql │ ├── level01.약수의_개수와_덧셈 │ │ ├── Go-yj.py │ │ └── sangmandu.py │ ├── level01.약수의_합 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── khw970421.js │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.어린_동물_찾기 │ │ └── 6047198844.sql │ ├── level01.없는 숫자 더하기 │ │ └── 6047198844.py │ ├── level01.여러_기준으로_정렬하기 │ │ └── 6047198844.sql │ ├── level01.역순_정렬하기 │ │ └── 6047198844.sql │ ├── level01.예산 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── rockmiin_예산.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.완주하지_못한_선수 │ │ ├── 6047198844.cpp │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── JeongShin.js │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── junilhwang.py │ │ ├── khw970421.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ ├── sjjyy.java │ │ └── test.json │ ├── level01.음양_더하기 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ └── sangmandu.py │ ├── level01.이름이_있는_동물의_아이디 │ │ └── 6047198844.sql │ ├── level01.이상한_문자_만들기 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── khw970421.js │ │ ├── pul8219.java │ │ ├── s2uyeoii.cpp │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.자릿수_더하기 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── khw970421.js │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.자연수_뒤집어_배열로_만들기 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── khw970421.js │ │ ├── s2uyeoii.cpp │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.정수_내림차순으로_배치하기 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── khw970421.js │ │ ├── sangmandu.py │ │ ├── sjjyy.java │ │ └── 정수_내림순으로_배치하기.py │ ├── level01.정수_제곱근_판별 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── khw970421.js │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.제일_작은_수_제거하기 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── JunilHwang.java │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── khw970421.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.직사각혁_별찍기 │ │ └── Go-yj.py │ ├── level01.직사각형_별찍기 │ │ ├── 6047198844.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.짝수와_홀수 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── khw970421.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.체육복 │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── junilhwang.js │ │ ├── khw970421.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.최대공약수와_최소공배수 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── khw970421.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.콜라츠_추측 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── khw970421.js │ │ ├── rockmiin.py │ │ ├── s2uyeoii.cpp │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.크레인_인형뽑기_게임 │ │ ├── 6047198844.cpp │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ ├── sjjyy.java │ │ └── turquoiseluv.py │ ├── level01.키패드_누르기 │ │ ├── 6047198844.cpp │ │ ├── Go-yj.py │ │ ├── eyabc.js │ │ └── sangmandu.py │ ├── level01.평균_구하기 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.java │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── khw970421.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.폰켓몬 │ │ └── sangmandu.py │ ├── level01.하샤드_수 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── khw970421.js │ │ ├── rockmiin.py │ │ ├── s2uyeoii.cpp │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.핸드폰_번호_가리기 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── khw970421.js │ │ ├── rockmiin.py │ │ ├── s2uyeoii.cpp │ │ ├── s2uyeoii_c.cpp │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level01.행렬의_덧셈 │ │ ├── 6047198844.py │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── develop-sell.js │ │ ├── dkdlelk99.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.124_나라의_숫자 │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── sangmandu.py │ │ ├── sjjyy.java │ │ └── turquoiseluv.py │ ├── level02.2개_이하로_다른_비트 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level02.H-Index │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── junilhwang.js │ │ ├── khw970421.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.JadenCase_문자열_만들기 │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── README.md │ │ └── sangmandu.py │ ├── level02.N개의_최소공배수 │ │ ├── 6047198844.cpp │ │ ├── Go-yj.py │ │ ├── rockmiin.py │ │ └── sangmandu.py │ ├── level02.[1차]_프렌즈4블록 │ │ └── 6047198844.cpp │ ├── level02.[3차]_방금_그곡 │ │ ├── 6047198844.cpp │ │ └── sangmandu.py │ ├── level02.[3차]_압축 │ │ ├── 6047198844.cpp │ │ └── sangmandu.py │ ├── level02.[3차]파일명_정렬 │ │ ├── 6047198844.cpp │ │ └── sangmandu.py │ ├── level02.n진수_게임 │ │ ├── Go-yj.py │ │ └── sangmandu.py │ ├── level02.가장_큰_수 │ │ ├── 6047198844.cpp │ │ ├── Jaewon0702.py │ │ ├── JeongShin.js │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── junilhwang.js │ │ ├── rockmiin_가장큰수.py │ │ ├── s2uyeoii.cpp │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.가장_큰_정사각형_찾기 │ │ ├── 6047198844.cpp │ │ ├── Go-yj.py │ │ └── sangmandu.py │ ├── level02.거리두기_확인하기 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level02.게임_맵_최단거리 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level02.고양이와_개는_몇_마리_있을까 │ │ └── 6047198844.sql │ ├── level02.괄호_회전하기 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level02.괄호변환 │ │ ├── README.md │ │ ├── eyabc.js │ │ ├── junilhwang.js │ │ └── sangmandu.py │ ├── level02.구명보트 │ │ ├── 6047198844.cpp │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── junilhwang.js │ │ ├── rockmiin_구명보트.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.기능개발 │ │ ├── 6047198844.cpp │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── dkdlelk99_v2.py │ │ ├── eyabc.js │ │ ├── junilhwang.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.뉴스_클러스터링 │ │ ├── 6047198844.cpp │ │ └── sangmandu.py │ ├── level02.다리를_지나는_트럭 │ │ ├── 6047198844.cpp │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── junilhwang.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.다음_큰_숫자 │ │ ├── 6047198844.cpp │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── README.md │ │ ├── rockmiin.py │ │ ├── rockmiin_다음큰숫자.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.단체사진_찍기 │ │ └── 6047198844.cpp │ ├── level02.더_맵게 │ │ ├── 6047198844.cpp │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── junilhwang-01.py │ │ ├── junilhwang-02.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.동명_동물_수_찾기 │ │ └── 6047198844.sql │ ├── level02.땅따먹기 │ │ ├── 6047198844.cpp │ │ ├── Go-yj.py │ │ └── sangmandu.py │ ├── level02.루시와_엘라_찾기 │ │ └── 6047198844.sql │ ├── level02.멀리_뛰기 │ │ └── 6047198844.py │ ├── level02.멀쩡한_사각형 │ │ ├── 12eon.py │ │ ├── 6047198844.cpp │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── s2uyeoii.cpp │ │ └── sangmandu.py │ ├── level02.메뉴_리뉴얼 │ │ ├── 6047198844.cpp │ │ ├── rockmiin.py │ │ └── sangmandu.py │ ├── level02.모음사전 │ │ └── 6047198844.py │ ├── level02.문자열압축 │ │ ├── README.md │ │ ├── eyabc.js │ │ ├── junilhwang.js │ │ └── sangmandu.py │ ├── level02.방문_길이 │ │ └── 6047198844.py │ ├── level02.배달 │ │ └── 6047198844.py │ ├── level02.삼각_달팽이 │ │ ├── 6047198844.cpp │ │ └── sangmandu.py │ ├── level02.소수_만들기 │ │ ├── 6047198844.cpp │ │ ├── Go-yj.py │ │ ├── s2uyeoii.cpp │ │ └── sangmandu.py │ ├── level02.소수_찾기 │ │ ├── 6047198844.cpp │ │ ├── Jaewon0702.py │ │ ├── junilhwang.js │ │ └── sangmandu.py │ ├── level02.쇠막대기 │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ └── junilhwang.js │ ├── level02.수식_최대화 │ │ ├── 6047198844.cpp │ │ ├── rockmiin.py │ │ └── sangmandu.py │ ├── level02.순위_검색 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level02.숫자의_표현 │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── README.md │ │ ├── khw970421.js │ │ └── sangmandu.py │ ├── level02.스킬트리 │ │ ├── HyeonJeong.py │ │ ├── README.md │ │ ├── desktop.ini │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── rockmiin.py │ │ └── sangmandu.py │ ├── level02.압축 │ │ └── Go-yj.py │ ├── level02.영어_끝말잇기 │ │ ├── 6047198844.cpp │ │ ├── HyeonJeong.py │ │ ├── junilhwang.py │ │ └── sangmandu.py │ ├── level02.예상_대진표 │ │ ├── 6047198844.cpp │ │ └── sangmandu.py │ ├── level02.오픈채팅방 │ │ ├── 6047198844.cpp │ │ └── sangmandu.py │ ├── level02.올바른_괄호 │ │ ├── 6047198844.cpp │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── JeongShin.js │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── khw970421.js │ │ ├── s2uyeoii.c │ │ └── sangmandu.py │ ├── level02.위장 │ │ ├── 6047198844.cpp │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── JeongShin.js │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.이름에_el이_들어가는_동물_찾기 │ │ └── 6047198844.sql │ ├── level02.이름이_없는_동물의_아이디 │ │ └── 6047198844_.sql │ ├── level02.이진_변환_반복하기 │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ └── sangmandu.py │ ├── level02.저울 │ │ └── JeongShin.js │ ├── level02.전화번호_목록 │ │ ├── 6047198844.cpp │ │ ├── HyeonJeong.py │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.점프와_순간이동 │ │ ├── 6047198844.cpp │ │ └── sangmandu.py │ ├── level02.조이스틱 │ │ ├── 6047198844.cpp │ │ ├── HyeonJeong.py │ │ ├── junilhwang.js │ │ └── sangmandu.py │ ├── level02.주식가격 │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── junilhwang.js │ │ ├── rockmiin.py │ │ ├── s2uyeoii.cpp │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.짝지어_제거하기 │ │ ├── 6047198844.cpp │ │ ├── HyeonJeong.py │ │ ├── README.md │ │ ├── eyabc.js │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.최댓값과 최솟값 │ │ ├── README.md │ │ └── dkdlelk99.py │ ├── level02.최댓값과_최솟값 │ │ ├── 6047198844.cpp │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── rockmiin_최댓값과최솟값.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.최솟값_만들기 │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── rockmiin.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.최솟값만들기 │ │ └── 6047198844.cpp │ ├── level02.카펫 │ │ ├── 6047198844.cpp │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── eyabc.js │ │ ├── junilhwang.js │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.캐시 │ │ ├── 6047198844.cpp │ │ └── sangmandu.py │ ├── level02.쿼드압축_후_개수_세기 │ │ ├── 6047198844.cpp │ │ └── sangmandu.py │ ├── level02.큰_수_만들기 │ │ ├── 6047198844.cpp │ │ ├── Jaewon0702(1).py │ │ ├── Jaewon0702.py │ │ ├── JeongShin.js │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── junilhwang-01.js │ │ ├── junilhwang-02.js │ │ ├── sangmandu.py │ │ ├── sjjyy.java │ │ └── turquoiseluv.py │ ├── level02.타겟 넘버 │ │ └── rockmiin.py │ ├── level02.타겟_넘버 │ │ ├── 6047198844.cpp │ │ ├── JeongShin.js │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.탑 │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── junilhwang.js │ │ └── rockmiin.py │ ├── level02.튜플 │ │ ├── 6047198844.cpp │ │ ├── JeongShin.js │ │ ├── eyabc.js │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.파일명_정렬 │ │ └── Go-yj.py │ ├── level02.폰켓몬 │ │ ├── 6047198844.cpp │ │ ├── khw.js │ │ ├── sangmandu.py │ │ └── sjjyy.java │ ├── level02.프렌즈4블록 │ │ └── sangmandu.py │ ├── level02.프린터 │ │ ├── 6047198844.cpp │ │ ├── Jaewon0702.py │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── junilhwang.js │ │ ├── rockmiin.py │ │ └── sangmandu.py │ ├── level02.피보나치_수 │ │ ├── Go-yj.py │ │ ├── HyeonJeong.py │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── rockmiin.py │ │ └── sangmandu.py │ ├── level02.행렬_테두리_회전하기 │ │ └── sangmandu.py │ ├── level02.행렬_테투리_회전하기 │ │ └── 6047198844.py │ ├── level02.행렬의곱셈 │ │ ├── 6047198844.cpp │ │ ├── Go-yj.py │ │ ├── README.md │ │ ├── dkdlelk99.py │ │ ├── rockmiin.py │ │ └── sangmandu.py │ ├── level02.후보키 │ │ ├── 6047198844.cpp │ │ └── sangmandu.py │ ├── level03.110 옮기기 │ │ └── sangmandu.py │ ├── level03.110_옮기기 │ │ └── 6047198844.py │ ├── level03.2xn타일링 │ │ ├── .vscode │ │ │ └── launch.json │ │ ├── 6047198844.cpp │ │ ├── JeongShin.js │ │ ├── rockmiin.py │ │ └── sangmandu.py │ ├── level03.N_Queen │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ └── sangmandu.py │ ├── level03.N으로_표현 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level03.[1차]_셔틀버스 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level03.[1차]_추석_트래픽 │ │ └── 6047198844.py │ ├── level03.가사검색 │ │ ├── README.md │ │ └── junilhwang.js │ ├── level03.가장_긴_팰린드롬 │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ └── sangmandu.py │ ├── level03.가장_먼_노드 │ │ ├── JeongShin.js │ │ ├── sangmandu.py │ │ └── turquoiseluv.py │ ├── level03.가장먼노드 │ │ └── 6047198844.py │ ├── level03.거스름돈 │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ └── sangmandu.py │ ├── level03.경주로_건설 │ │ ├── 6047198844.py │ │ ├── rockmiin.py │ │ └── sangmandu.py │ ├── level03.광고_삽입 │ │ └── 6047198844.py │ ├── level03.광고_제거 │ │ └── sangmandu.py │ ├── level03.기둥과보 │ │ ├── 6047198844.py │ │ ├── README.md │ │ ├── junilhwang.js │ │ └── sangmandu.py │ ├── level03.기지국_설치 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level03.길_찾기_게임 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level03.네트워크 │ │ ├── 6047198844.cpp │ │ ├── JeongShin.js │ │ ├── rockmiin_네트워크.py │ │ └── sangmandu.py │ ├── level03.다단계_칫솔_판매 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level03.단속카메라 │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ ├── junilhwang.js │ │ └── sangmandu.py │ ├── level03.단어_변환 │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ └── sangmandu.py │ ├── level03.등굣길 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level03.디스크_컨트롤러 │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ ├── junilhwang.js │ │ └── sangmandu.py │ ├── level03.매칭_점수 │ │ └── 6047198844.py │ ├── level03.멀리뛰기 │ │ ├── JeongShin.js │ │ └── sangmandu.py │ ├── level03.모두_0으로_만들기 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level03.방문_길이 │ │ ├── JeongShin.js │ │ └── sangmandu.py │ ├── level03.배달 │ │ └── sangmandu.py │ ├── level03.베스트앨범 │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ └── sangmandu.py │ ├── level03.보석_쇼핑 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level03.불량_사용자 │ │ ├── 6047198844.py │ │ ├── JeongShin.java │ │ ├── JeongShin.js │ │ └── sangmandu.py │ ├── level03.블록_이동하기 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level03.섬_연결하기 │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ ├── junilhwang.js │ │ └── sangmandu.py │ ├── level03.순위 │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ └── sangmandu.py │ ├── level03.숫자_게임 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level03.스타_수열 │ │ └── 6047198844.py │ ├── level03.스티커_모으기(2) │ │ └── 6047198844.py │ ├── level03.야근_지수 │ │ └── khw970421.js │ ├── level03.야근지수 │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ └── sangmandu.py │ ├── level03.여행경로 │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ └── sangmandu.py │ ├── level03.예산 │ │ └── JeongShin.js │ ├── level03.외벽점검 │ │ ├── 6047198844.py │ │ ├── README.md │ │ ├── junilhwang.js │ │ └── sangmandu.py │ ├── level03.이중우선순위큐 │ │ ├── JeongShin.js │ │ ├── junilhwang.js │ │ └── sangmandu.py │ ├── level03.입국심사 │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ ├── rockmiin.py │ │ └── sangmandu.py │ ├── level03.자물쇠와열쇠 │ │ ├── 6047198844.py │ │ ├── README.md │ │ ├── junilhwang.js │ │ └── sangmandu.py │ ├── level03.저울 │ │ └── JeongShin.js │ ├── level03.정수_삼각형 │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ ├── rockmiin.py │ │ └── sangmandu.py │ ├── level03.종이접기 │ │ └── JeongShin.js │ ├── level03.줄_서는_방법 │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ └── sangmandu.py │ ├── level03.징검다리_건너기 │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ └── sangmandu.py │ ├── level03.최고의_집합 │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ └── sangmandu.py │ ├── level03.카드_짝_맞추기 │ │ └── 6047198844.py │ ├── level03.타일_장식물 │ │ └── JeongShin.js │ ├── level03.표 편집 │ │ └── sangmandu.py │ ├── level03.표_편집 │ │ └── 6047198844.py │ ├── level03.풍선_터트리기 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level03.하노이의_탑 │ │ ├── 6047198844.py │ │ ├── JeongShin.js │ │ └── sangmandu.py │ ├── level03.합승_택시_요금 │ │ ├── 6047198844.py │ │ └── sangmandu.py │ ├── level03.헤비 유저가 소유한 장소 │ │ └── 6047198844.sql │ ├── level04.가사_검색 │ │ └── JeongShin.js │ ├── level04.단어_퍼즐 │ │ └── JeongShin.js │ ├── level04.무지의_먹방_라이브 │ │ └── JeongShin.js │ ├── level04.사칙연산 │ │ └── sangmandu.py │ ├── level04.스티커_모으기 │ │ └── JeongShin.js │ ├── level04.올바른_괄호의_갯수 │ │ ├── 6047198844.py │ │ └── JeongShin.js │ ├── level04.지형_이동 │ │ ├── 6047198844.py │ │ └── JeongShin.js │ ├── level04.징검다리 │ │ ├── 6047198844.py │ │ ├── JeongShin.java │ │ └── JeongShin.js │ ├── level04.호텔_방_배정 │ │ ├── JeongShin.java │ │ └── JeongShin.js │ └── remove_spacebar.py ├── 네이버_2020_아폴로_챌린지 │ └── junilhwang │ │ ├── 1.js │ │ ├── 2.js │ │ ├── 3.js │ │ └── report.20200920.150349.9360.0.001.json ├── 부스트캠프 │ ├── boost1.py │ ├── boost2.py │ ├── eyabc_1_1.js │ ├── eyabc_1_2.js │ ├── eyabc_2_1.js │ └── eyabc_2_2.js ├── 썸머코딩_2020 │ └── 아름다운연도 │ │ ├── JunilHwang.java │ │ └── pul8219.java ├── 쏘카 │ ├── 2.js │ └── 3.js ├── 우아한캠프 2020 상반기 │ ├── eyabc_01.js │ ├── eyabc_02.js │ └── eyabc_03.js ├── 우아한캠프 2020 하반기 │ ├── 1.PNG │ ├── 2.PNG │ ├── 3.PNG │ ├── 4.PNG │ ├── 5.PNG │ ├── 6.PNG │ ├── 7-1.PNG │ └── 7-2.PNG ├── 위메프202006 │ ├── 1 │ │ └── eyabc.js │ ├── 2 │ │ └── eyabc.js │ ├── 3 │ │ └── eyabc.js │ └── 4 │ │ └── eyabc.js ├── 위클리 챌린지 │ ├── 1주차 │ │ └── 6047198844.py │ └── 2주차 │ │ └── 6047198844.py ├── 카카오 개발자 겨울 인턴십 2019 │ ├── 불량사용자 │ │ └── 불량사용자.py │ ├── 크레인 인형뽑기 게임 │ │ └── 크레인 인형뽑기 게임.py │ └── 튜플 │ │ └── 튜플.py ├── 카카오_2020_상반기_인턴_코딩테스트 │ ├── README.md │ ├── junilhwang-01.js │ ├── junilhwang-02.js │ ├── junilhwang-03.js │ └── junilhwang-04.js ├── 카카오_2020_상반기_인턴_코딩테스트_2 │ ├── 1.js │ ├── 2.js │ ├── 3.js │ └── 4.js ├── 카카오_프런트엔드_경력직_챌린지 │ └── junilhwang │ │ ├── 1.js │ │ ├── 2.js │ │ └── 3.js ├── 쿠팡 │ └── junilhwang │ │ ├── 2.js │ │ ├── 3.js │ │ └── 4.js ├── 토스 │ ├── 1.js │ ├── 2.js │ └── 3.js ├── 프로그래머스_챌린지 │ ├── 2020_상반기_백엔드개발자_코딩테스트.01 │ │ ├── README.md │ │ └── junilhwang.js │ ├── 2020_상반기_백엔드개발자_코딩테스트.02 │ │ ├── README.md │ │ └── junilhwang.js │ ├── 2020_상반기_백엔드개발자_코딩테스트.03 │ │ ├── README.md │ │ └── junilhwang.js │ ├── 2020_하반기_겨울방학인턴십_코딩테스트 │ │ ├── JeongShin1.js │ │ └── JeongShin3.js │ ├── README.md │ ├── est │ │ ├── 2.js │ │ └── 3.js │ └── 카카오_커머스 │ │ └── junilhwang │ │ ├── 1.js │ │ ├── 2.js │ │ └── 3.js └── 학점연계인턴십_2020_하반기 │ ├── 1.js │ ├── 2.js │ ├── 3.js │ ├── 4.js │ └── 5.js ├── yarn.lock ├── 라이브러리 ├── Trie.js ├── lowerBound.js ├── prefixSum.js └── topology.js ├── 모든경우의수 ├── all.java ├── all.js └── all.py └── 알고스팟 ├── Mismatched Brackets └── 6047198844.cpp ├── QUANTIZE └── 6047198844.cpp ├── 고대어 사전 └── 6047198844.cpp ├── 너드인가, 너드가 아닌가 2 └── 6047198844.cpp ├── 단어 제한 끝말잇기 └── 6047198844.cpp ├── 두니발 박사의 탈옥 └── 6047198844.cpp ├── 변화하는 중간 값 └── 6047198844.cpp ├── 비대칭 타일링 └── 6047198844.cpp ├── 삼각형 위의 최대 경로 ├── 6047198844.cpp └── 삼각형 위의 최대 경로.py ├── 삼각형 위의 최대 경로수 세기 └── 6047198844.cpp ├── 삽입 정렬 뒤집기 └── 6047198844.cpp ├── 시계맞추기 └── dkdlelk99.cpp ├── 와일드카드 ├── 6047198844.cpp └── 와일드카드.py ├── 외계 신호 분석 └── 6047198844.cpp ├── 외발뛰기 ├── 6047198844.cpp └── 외발뛰기.py ├── 요새 └── 6047198844.cpp ├── 울타리 잘라내기 2 └── 6047198844.cpp ├── 울타리 잘라내기 ├── 6047198844.cpp └── sAp00n.py ├── 원주율 외우기 └── 6047198844.cpp ├── 장마가 찾아왔다 └── 6047198844.cpp ├── 조세푸스 문제 └── 6047198844.cpp ├── 최대 증가 부분 수열 └── 6047198844.cpp ├── 쿼드트리 ├── 6047198844.cpp └── sAp00n.py ├── 타일링 방법의 수 세기 └── 6047198844.cpp ├── 트리 순회 순서 변경 └── 6047198844.cpp ├── 팬미팅 ├── 6047198844.cpp └── sAp00n.py ├── 폴리오미노 └── 6047198844.cpp ├── 피크닉 └── dkdlelk99.cpp └── 합친 LIS └── 6047198844.cpp /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.iml 3 | out 4 | node_modules 5 | .DS_Store -------------------------------------------------------------------------------- /BOJ/.swp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/.swp -------------------------------------------------------------------------------- /BOJ/10039.평균 점수/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | res = 0 4 | scores = [int(sys.stdin.readline()) for _ in range(5)] 5 | for score in scores: 6 | res += 40 if score < 40 else score 7 | print(res//5) -------------------------------------------------------------------------------- /BOJ/1010.다리 놓기/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/1010.다리 놓기/6047198844.cpp -------------------------------------------------------------------------------- /BOJ/10101.삼각형 외우기/6047198844.py: -------------------------------------------------------------------------------- 1 | A = int(input()) 2 | B = int(input()) 3 | C = int(input()) 4 | 5 | if A == B == C == 60: 6 | print('Equilateral') 7 | elif A + B + C == 180: 8 | if (A == B) or (B == C) or (A == C): 9 | print('Isosceles') 10 | else: 11 | print('Scalene') 12 | else: 13 | print('Error') -------------------------------------------------------------------------------- /BOJ/10103.주사위 게임/6047198844.py: -------------------------------------------------------------------------------- 1 | N = int(input()) 2 | x = 100 3 | y = 100 4 | 5 | for _ in range(N): 6 | a, b = map(int, input().split()) 7 | if a > b: 8 | y -= a 9 | elif a < b: 10 | x -= b 11 | 12 | print(x) 13 | print(y) -------------------------------------------------------------------------------- /BOJ/10156.과자/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | K, N, M = map(int, sys.stdin.readline().split()) 4 | print(max(0, K * N - M)) -------------------------------------------------------------------------------- /BOJ/10162.전자레인지/6047198844.py: -------------------------------------------------------------------------------- 1 | T = int(input()) 2 | 3 | if T % 10 != 0: 4 | print(-1) 5 | else: 6 | A = B = C = 0 7 | A = T // 300 8 | B = (T % 300) // 60 9 | C = (T % 300) % 60 // 10 10 | print(A, B, C) -------------------------------------------------------------------------------- /BOJ/1032.명령 프롬프트/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/1032.명령 프롬프트/6047198844.cpp -------------------------------------------------------------------------------- /BOJ/1037.약수/6047198844.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | using namespace std; 6 | 7 | int main() { 8 | int N; 9 | cin >> N; 10 | vector arr(N); 11 | for (int i = 0; i < N; i++) 12 | cin >> arr[i]; 13 | sort(arr.begin(), arr.end()); 14 | cout << arr.front() * arr.back(); 15 | } -------------------------------------------------------------------------------- /BOJ/10451.순열 사이클/rockmiin.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /BOJ/10610.30/6047198844.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | int s, k, n[10]; 6 | int main() { 7 | while (~scanf("%1d", &k)) 8 | n[k]++, s += k; 9 | if (s % 3 || !n[0]) 10 | printf("-1"); 11 | else 12 | for (int i = 9; i >= 0; i--) 13 | while (n[i]--) 14 | printf("%d", i); 15 | } -------------------------------------------------------------------------------- /BOJ/1075,나누기/6047198844.py: -------------------------------------------------------------------------------- 1 | N = input()[:-2] 2 | F = int(input()) 3 | for i in range(100): 4 | if int(N + str(i).zfill(2)) % F == 0: 5 | print(str(i).zfill(2)) 6 | break -------------------------------------------------------------------------------- /BOJ/10766.특별한 날/6047198844.py: -------------------------------------------------------------------------------- 1 | month = int(input()) 2 | day = int(input()) 3 | if month < 2 or (month == 2 and day < 18): 4 | print("Before") 5 | elif month == 2 and day == 18: 6 | print('Special') 7 | else: 8 | print('After') -------------------------------------------------------------------------------- /BOJ/10797.10부제/6047198844.py: -------------------------------------------------------------------------------- 1 | from collections import Counter 2 | 3 | N = int(input()) 4 | res = Counter(map(int, input().split())).get(N) 5 | print(res) if res else print(0) -------------------------------------------------------------------------------- /BOJ/10815.숫자 카드/6047198844.py: -------------------------------------------------------------------------------- 1 | N = int(input()) 2 | sanggen_cards = set(map(int, input().split())) 3 | M = int(input()) 4 | for card in map(int, input().split()): 5 | print(int(card in sanggen_cards), end=' ') -------------------------------------------------------------------------------- /BOJ/10815.숫자 카드/rockmiin.py: -------------------------------------------------------------------------------- 1 | z -------------------------------------------------------------------------------- /BOJ/10826.피보나치 수 4/sangmandu.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | a, b = 0, 1 3 | for _ in range(n): 4 | a, b = b, a+b 5 | print(a) 6 | -------------------------------------------------------------------------------- /BOJ/10830.행렬 제곱/10830_행렬 제곱.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/10830.행렬 제곱/10830_행렬 제곱.cpp -------------------------------------------------------------------------------- /BOJ/10833.사과/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | N = int(sys.stdin.readline()) 4 | res = 0 5 | for _ in range(N): 6 | A, B = map(int, sys.stdin.readline().split()) 7 | res += B % A 8 | print(res) -------------------------------------------------------------------------------- /BOJ/10844.쉬운 계단 수/rockmiin.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | n= int(input()) 4 | dp=[[0]*10 for _ in range(n+1)] 5 | dp[1]= [0]+[1]*9 6 | 7 | for i in range(1, n+1): 8 | for j in range(1, 9): 9 | dp[i][j]+= (dp[i-1][j-1]+ dp[i-1][j+1]) 10 | dp[i][0]+= dp[i-1][1] 11 | dp[i][9]+= dp[i-1][8] 12 | 13 | print(sum(dp[-1])%1000000000) 14 | -------------------------------------------------------------------------------- /BOJ/10867.중복 뺴고 정렬하기/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | N = int(sys.stdin.readline()) 4 | arr = set(map(int, sys.stdin.readline().split())) 5 | for i in sorted(arr): 6 | print(i, end=' ') -------------------------------------------------------------------------------- /BOJ/10867.중복 뺴고 정렬하기/rockmiin.py: -------------------------------------------------------------------------------- 1 | 2 | n= int(input()) 3 | 4 | arr= sorted(list(map(int, input().split()))) 5 | res= [] 6 | 7 | for i in arr: 8 | if i not in res: 9 | res.append(i) 10 | print(i, end=" ") -------------------------------------------------------------------------------- /BOJ/10870.피보나치 수 5/sangmandu.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | a, b = 0, 1 3 | for _ in range(n): 4 | a, b = b, a+b 5 | print(a) 6 | -------------------------------------------------------------------------------- /BOJ/10926.??!/6047198844.py: -------------------------------------------------------------------------------- 1 | print(input()+"??!") -------------------------------------------------------------------------------- /BOJ/10988.팰린드롬인지 확인하기/6047198844.py: -------------------------------------------------------------------------------- 1 | s = input() 2 | print(int(s==s[::-1])) -------------------------------------------------------------------------------- /BOJ/11047.동전0/rockmiin.py: -------------------------------------------------------------------------------- 1 | 2 | n, k= map(int, input().split()) 3 | coin= [] 4 | cnt= 0 5 | for i in range(n): 6 | coin.append(int(input())) 7 | coin.reverse() 8 | 9 | for i in coin: 10 | if k 2 | 3 | using namespace std; 4 | 5 | int combi(int N, int K) { 6 | if (K == 0) 7 | return 1; 8 | if (N == K) 9 | return 1; 10 | return combi(N - 1, K) + combi(N - 1, K - 1); 11 | } 12 | 13 | int main() { 14 | int N; 15 | int K; 16 | cin >> N >> K; 17 | cout << combi(N, K); 18 | } -------------------------------------------------------------------------------- /BOJ/11052.카드 구매하기/rockmiin.py: -------------------------------------------------------------------------------- 1 | 2 | n= int(input()) 3 | p= [0] + list(map(int, input().split())) 4 | dp= [0 for _ in range(n+1)] 5 | dp[1]= p[1] 6 | for i in range(1, n+1): 7 | for j in range(1, i+1): 8 | # print(i, j, dp) 9 | dp[i]= max(dp[i], dp[i-j]+ p[j]) 10 | 11 | print(dp[-1]) -------------------------------------------------------------------------------- /BOJ/11066.파일 합치기/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/11066.파일 합치기/6047198844.cpp -------------------------------------------------------------------------------- /BOJ/11170.0의 개수/6047198844.py: -------------------------------------------------------------------------------- 1 | T = int(input()) 2 | 3 | for _ in range(T): 4 | N, M = map(int, input().split()) 5 | print(sum([str(i).count("0") for i in range(N, M + 1)])) 6 | -------------------------------------------------------------------------------- /BOJ/1120.문자열/6047198844.py: -------------------------------------------------------------------------------- 1 | import math 2 | 3 | A, B = input().split() 4 | 5 | res = math.inf 6 | for i in range(len(B) - len(A) + 1): 7 | cnt = 0 8 | for j in range(len(A)): 9 | if A[j] != B[i+j]: 10 | cnt += 1 11 | res = min(cnt, res) 12 | print(res) -------------------------------------------------------------------------------- /BOJ/11382.꼬마 정민/6047198844.py: -------------------------------------------------------------------------------- 1 | A, B, C = map(int, input().split()) 2 | print(A + B + C) -------------------------------------------------------------------------------- /BOJ/11399.ATM/rockmiin.py: -------------------------------------------------------------------------------- 1 | 2 | n= int(input()) 3 | 4 | p=sorted(list(map(int, input().split()))) 5 | time=0 6 | for i in range(n): 7 | time+=p[i]*(n-i) 8 | print(time) 9 | -------------------------------------------------------------------------------- /BOJ/11444.피보나치 수 6/11444_피보나치 수 6.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/11444.피보나치 수 6/11444_피보나치 수 6.cpp -------------------------------------------------------------------------------- /BOJ/11478.서로 다른 부분 문자열의 개수/6047198844.py: -------------------------------------------------------------------------------- 1 | from itertools import combinations 2 | 3 | S = input() 4 | result = set() 5 | for i in range(1, len(S) + 1): 6 | for j in range(len(S)-i+1): 7 | result.add(S[j:j+i]) 8 | print(len(result)) -------------------------------------------------------------------------------- /BOJ/11508.2+1 세일/6047198844.py: -------------------------------------------------------------------------------- 1 | N = int(input()) 2 | 3 | milks = list() 4 | for _ in range(N): 5 | milks.append(int(input())) 6 | 7 | milks.sort(reverse=True) 8 | 9 | print(sum([milk for idx, milk in enumerate(milks) if idx % 3 != 2])) -------------------------------------------------------------------------------- /BOJ/1157.단어 공부/6047198844.py: -------------------------------------------------------------------------------- 1 | frequency = [0]*26 2 | s = input().upper() 3 | res = [] 4 | for _ in range(26): 5 | res.append(s.count(chr(_+ord('A')))) 6 | print(chr(res.index(max(res))+ord('A'))) if res.count(max(res)) == 1 else print('?') -------------------------------------------------------------------------------- /BOJ/11657.타임머신/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/11657.타임머신/6047198844.cpp -------------------------------------------------------------------------------- /BOJ/1181.단어 정렬/rockmiin.py: -------------------------------------------------------------------------------- 1 | n= int(input()) 2 | arr=[] 3 | for i in range(n): 4 | arr.append(input()) 5 | 6 | arr=set(arr) 7 | answer=[] 8 | for i in arr: 9 | answer.append([len(i), i]) # 인덱스를 단어의 길이인 배열 answer에 길이마다 저장 10 | answer.sort() 11 | # sort()는 앞 조건이 같으면 뒤 조건으로 정렬한다 12 | for i in answer: 13 | print(i[1]) 14 | -------------------------------------------------------------------------------- /BOJ/1188.음식 평론가/6047198844.py: -------------------------------------------------------------------------------- 1 | def gcd(a, b): 2 | if a % b == 0: 3 | return b 4 | return gcd(b, a % b) 5 | n, m = map(int, input().split()) 6 | print(m - gcd(n, m)) -------------------------------------------------------------------------------- /BOJ/11942.고려대는 사랑입니다./6047198844.py: -------------------------------------------------------------------------------- 1 | print("고려대학교") -------------------------------------------------------------------------------- /BOJ/11942.고려대는 사랑입니다/6047198844.py: -------------------------------------------------------------------------------- 1 | print("고려대학교") -------------------------------------------------------------------------------- /BOJ/11943.파일 옮기기/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | A, B = map(int, sys.stdin.readline().split()) 4 | C, D = map(int, sys.stdin.readline().split()) 5 | print(min(A+D, B+C)) -------------------------------------------------------------------------------- /BOJ/11948.과목선택/6047198844.py: -------------------------------------------------------------------------------- 1 | arr = [int(input()) for _ in range(6)] 2 | 3 | science = arr[:4] 4 | geo = arr[4:6] 5 | science.sort() 6 | geo.sort() 7 | print(sum(science[1:4], geo[1])) -------------------------------------------------------------------------------- /BOJ/1199.오일러 회로/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/1199.오일러 회로/6047198844.cpp -------------------------------------------------------------------------------- /BOJ/1247.부호/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | for _ in range(3): 4 | N = int(sys.stdin.readline()) 5 | s = 0 6 | for _ in range(N): 7 | s += int(sys.stdin.readline()) 8 | if s == 0: 9 | print("0") 10 | elif s > 0: 11 | print("+") 12 | else: 13 | print("-") -------------------------------------------------------------------------------- /BOJ/1251.단어 나누기/6047198844.py: -------------------------------------------------------------------------------- 1 | word = input() 2 | res = list() 3 | for i in range(1, len(word) - 1): 4 | for j in range(1, len(word) - i): 5 | k = len(word) - i - j 6 | res.append(word[:i][::-1] + word[i:i+j][::-1] + word[i+j:i+j+k][::-1]) 7 | res.sort() 8 | print(res[0]) -------------------------------------------------------------------------------- /BOJ/1264.모음의 개수/6047198844.py: -------------------------------------------------------------------------------- 1 | while True: 2 | s = input() 3 | if s == '#': 4 | break 5 | 6 | cnt = 0 7 | for i in 'a','A','e','E','i','I','o','O','u','U': 8 | cnt += s.count(i) 9 | print(cnt) -------------------------------------------------------------------------------- /BOJ/1271.엄청난 부자2/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | n,m = map(int, sys.stdin.readline().split()) 4 | print(n//m, n%m) -------------------------------------------------------------------------------- /BOJ/12847.꿀 아르바이트/6047198844.py: -------------------------------------------------------------------------------- 1 | n, m = map(int, input().split()) 2 | arr = list(map(int, input().split())) 3 | 4 | start = sum(arr[0:m]) 5 | res = start 6 | for i in range(n-m): 7 | start = start - arr[i] + arr[i+m] 8 | res = max(res, start) 9 | print(res) -------------------------------------------------------------------------------- /BOJ/12904.A와 B/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | S = sys.stdin.readline().rstrip() 4 | T = sys.stdin.readline().rstrip() 5 | 6 | while len(T) > len(S): 7 | if T[-1] == 'A': 8 | T = T[:-1] 9 | else: 10 | T = T[:-1][::-1] 11 | print(int(T==S)) -------------------------------------------------------------------------------- /BOJ/1292.쉽게 푸는 문제/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | arr = [0] 4 | for i in range(1, 50 + 1): 5 | for _ in range(i): 6 | arr.append(i) 7 | s = [0] 8 | for i in range(1, len(arr)): 9 | s.append(s[i-1] + arr[i]) 10 | 11 | A, B = map(int, sys.stdin.readline().split()) 12 | print(s[B] - s[A-1]) -------------------------------------------------------------------------------- /BOJ/1302.베스트셀러/6047198844.py: -------------------------------------------------------------------------------- 1 | from collections import Counter 2 | 3 | N = int(input()) 4 | books = list() 5 | for _ in range(N): 6 | books.append(input()) 7 | 8 | books = Counter(books) 9 | books = sorted(books, key=lambda x: (-books.get(x), x)) 10 | print(books[0]) -------------------------------------------------------------------------------- /BOJ/1312.소수/6047198844.py: -------------------------------------------------------------------------------- 1 | A, B, N = map(int, input().split()) 2 | A %= B 3 | for i in range(N - 1): 4 | A = (A * 10) % B 5 | 6 | print((A * 10) // B) -------------------------------------------------------------------------------- /BOJ/13241.최소공배수/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | a, b = map(int ,sys.stdin.readline().split()) 4 | 5 | def gcf(a, b): 6 | if b == 0: 7 | return a 8 | return gcf(b, a % b) 9 | print(a * b // gcf(a, b)) -------------------------------------------------------------------------------- /BOJ/13277.큰 수 곱셈/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | A, B = map(int, sys.stdin.readline().split()) 4 | print(A*B) -------------------------------------------------------------------------------- /BOJ/13301.타일 장식물/6047198844.py: -------------------------------------------------------------------------------- 1 | N = int(input()) 2 | A, B = 2, 4 3 | for _ in range(N - 1): 4 | A, B = B, A + B 5 | print(B) 6 | 7 | # 4, 6, 10, 16, 26 -------------------------------------------------------------------------------- /BOJ/13985.Equality/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | input = sys.stdin.readline().split() 4 | plus = int(input[0]) + int(input[2]) 5 | result = int(input[4]) 6 | 7 | if plus == result: 8 | print("YES") 9 | else: 10 | print("NO") -------------------------------------------------------------------------------- /BOJ/14002.가장 긴 증가하는 부분 수열 4/와일드카드.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/14002.가장 긴 증가하는 부분 수열 4/와일드카드.cpp -------------------------------------------------------------------------------- /BOJ/1427.소트인사이드/6047198844.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | 6 | int main() { 7 | int N; 8 | vector arr(10); 9 | while (~scanf("%1d", &N)) 10 | ++arr[N]; 11 | for (int i = 9; i >= 0; i--) 12 | while(arr[i]--) 13 | cout << i; 14 | } -------------------------------------------------------------------------------- /BOJ/1439.뒤집기/6047198844.py: -------------------------------------------------------------------------------- 1 | S = str(input()) 2 | zero = 0 3 | one = 0 4 | 5 | if S[0] == '0': 6 | zero += 1 7 | else: 8 | one += 1 9 | 10 | for idx in range(1, len(S)): 11 | if S[idx-1] != S[idx]: 12 | if S[idx] == '0': 13 | zero += 1 14 | else: 15 | one += 1 16 | 17 | print(min(zero, one)) -------------------------------------------------------------------------------- /BOJ/14425.문자열 집합/6047198844.py: -------------------------------------------------------------------------------- 1 | N, M = map(int, input().split()) 2 | 3 | N_set = set() 4 | for _ in range(N): 5 | N_set.add(input()) 6 | res = 0 7 | for _ in range(M): 8 | if input() in N_set: 9 | res += 1 10 | print(res) -------------------------------------------------------------------------------- /BOJ/14490.백대열/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | 4 | def func(a, b): 5 | if b == 0: 6 | return a 7 | return func(b, a % b) 8 | a, b = map(int, sys.stdin.readline().split(':')) 9 | gcf = func(a, b) 10 | print(f'{a//gcf}:{b//gcf}') -------------------------------------------------------------------------------- /BOJ/14582.오늘도 졌다/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | ul = list(map(int, sys.stdin.readline().split())) 4 | st = list(map(int, sys.stdin.readline().split())) 5 | 6 | ul_res = 0 7 | st_res = 0 8 | for i in range(9): 9 | ul_res += ul[i] 10 | if ul_res > st_res: 11 | print('Yes') 12 | exit() 13 | st_res += st[i] 14 | print('No') 15 | -------------------------------------------------------------------------------- /BOJ/1463. 1로 만들기/rockmiin.py: -------------------------------------------------------------------------------- 1 | 2 | n= int(input()) 3 | dp= [0] * (n+1) 4 | 5 | for i in range(2, n+1): 6 | dp[i]= dp[i-1] +1 7 | if i%3== 0: 8 | dp[i]= min(dp[i], dp[i//3] +1) 9 | if i%2== 0: 10 | dp[i]= min(dp[i], dp[i//2]+ 1) 11 | print(dp[n]) -------------------------------------------------------------------------------- /BOJ/14727.퍼즐 자르기/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/14727.퍼즐 자르기/6047198844.cpp -------------------------------------------------------------------------------- /BOJ/14729.칠무해/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | N = int(sys.stdin.readline()) 4 | students = [float(sys.stdin.readline()) for _ in range(N)] 5 | students.sort() 6 | for i in range(7): 7 | print(format(students[i], ".3f")) -------------------------------------------------------------------------------- /BOJ/14888.연산자 끼워넣기/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/14888.연산자 끼워넣기/6047198844.cpp -------------------------------------------------------------------------------- /BOJ/14912.숫자 빈도수/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | from collections import Counter 3 | 4 | n, d = map(int, sys.stdin.readline().split()) 5 | counter = Counter() 6 | for i in range(1, n + 1): 7 | counter += Counter(str(i)) 8 | print(counter.get(str(d))) -------------------------------------------------------------------------------- /BOJ/14916.거스름돈/6047198844.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | 3 | res = -1 4 | five = 0 5 | while five * 5 <= n: 6 | if (n - five * 5) % 2 == 0: 7 | res = five + (n - five * 5) // 2 8 | five += 1 9 | print(res) -------------------------------------------------------------------------------- /BOJ/14928.큰 수 (BIG)/6047198844.py: -------------------------------------------------------------------------------- 1 | print(int(input()) % 20000303) -------------------------------------------------------------------------------- /BOJ/15439.Vera and Outfits/6047198844.py: -------------------------------------------------------------------------------- 1 | N = int(input()) 2 | print(N * (N-1)) -------------------------------------------------------------------------------- /BOJ/1550.16진수/6047198844.py: -------------------------------------------------------------------------------- 1 | print(int(input(), 16)) -------------------------------------------------------------------------------- /BOJ/15680.연세대학교/6047198844.py: -------------------------------------------------------------------------------- 1 | N = int(input()) 2 | if N == 0: 3 | print('YONSEI') 4 | else: 5 | print('Leading the Way to the Future') -------------------------------------------------------------------------------- /BOJ/15719.중복된 숫자/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | N = int(sys.stdin.readline()) 4 | numbers = sys.stdin.readline() 5 | sum = 0 6 | temp = "" 7 | for num in numbers: 8 | if num.isdigit(): 9 | temp += num 10 | elif num == " ": 11 | sum += int(temp) 12 | temp = "" 13 | sum += int(temp) 14 | print(sum - N * (N - 1) // 2) -------------------------------------------------------------------------------- /BOJ/15727.조별과제를 하려는데 조장이 사라졌다/6047198844.py: -------------------------------------------------------------------------------- 1 | import math 2 | 3 | print(math.ceil(int(input()) / 5)) -------------------------------------------------------------------------------- /BOJ/15733.나는 누구인가/6047198844.py: -------------------------------------------------------------------------------- 1 | print("I'm Sexy") 2 | -------------------------------------------------------------------------------- /BOJ/15829.Hashing/6047198844.py: -------------------------------------------------------------------------------- 1 | L = int(input()) 2 | line = list(input()) 3 | r = 31 4 | M = 1234567891 5 | res = 0 6 | for i in range(L): 7 | a = ord(line[i]) - ord('a') + 1 8 | res += (a * r ** i) 9 | res %= M 10 | print(res) -------------------------------------------------------------------------------- /BOJ/15873,공백 없는 A+B/6047198844.py: -------------------------------------------------------------------------------- 1 | nums = input() 2 | tmp = '' 3 | for i in range(len(nums)): 4 | if 0 <= int(tmp + nums[i]) <= 10: 5 | tmp += nums[i] 6 | else: 7 | print(int(nums[:i]) + int(nums[i:])) 8 | break 9 | -------------------------------------------------------------------------------- /BOJ/15904.UCPC는 무엇의 약자일까?/6047198844.py: -------------------------------------------------------------------------------- 1 | from collections import deque 2 | 3 | res = deque('UCPC') 4 | str = input() 5 | for char in str: 6 | if not res: 7 | break 8 | if char == res[0]: 9 | res.popleft() 10 | 11 | if res: 12 | print("I hate UCPC") 13 | else: 14 | print("I love UCPC") 15 | -------------------------------------------------------------------------------- /BOJ/15963.CASIO/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | N, M = map(int, sys.stdin.readline().split()) 4 | if N == M: 5 | print(1) 6 | else: 7 | print(0) -------------------------------------------------------------------------------- /BOJ/1600.말이 되고픈 원숭이/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/1600.말이 되고픈 원숭이/6047198844.cpp -------------------------------------------------------------------------------- /BOJ/16162.가희와 3단 고음/6047198844.py: -------------------------------------------------------------------------------- 1 | N, A, D = map(int, input().split()) 2 | melodies = list(map(int, input().split())) 3 | 4 | res = 0 5 | cur = A 6 | 7 | for melody in melodies: 8 | if cur == melody: 9 | cur += D 10 | res += 1 11 | 12 | print(res) -------------------------------------------------------------------------------- /BOJ/1620.나는야 포켓몬 마스터 이다솜/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | N, M = map(int, sys.stdin.readline().split()) 4 | table = dict() 5 | 6 | for i in map(str, range(1, N + 1)): 7 | pokemon = sys.stdin.readline().rstrip() 8 | table[pokemon] = i 9 | table[i] = pokemon 10 | 11 | for _ in range(M): 12 | print(table[sys.stdin.readline().rstrip()]) 13 | -------------------------------------------------------------------------------- /BOJ/16204.카드 뽑기/6047198844.py: -------------------------------------------------------------------------------- 1 | # M개 O가 1개 2 | # N-M X가 1개 3 | import sys 4 | 5 | N, M, K = map(int, sys.stdin.readline().split()) 6 | 7 | o_num = M 8 | x_num = N - M 9 | 10 | o_write = K 11 | x_write = N - K 12 | print(min(o_num, o_write) + min(x_num, x_write)) 13 | -------------------------------------------------------------------------------- /BOJ/16208.귀찮음/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | n = int(input()) 4 | bars = list(map(int, sys.stdin.readline().split())) 5 | res = 0 6 | s = sum(bars) 7 | for bar in bars: 8 | res += bar * (s - bar) 9 | s -= bar 10 | print(res) -------------------------------------------------------------------------------- /BOJ/16212.정열적인 정렬/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | N = int(sys.stdin.readline()) 4 | a = list(map(int, sys.stdin.readline().split())) 5 | a.sort() 6 | for i in a: 7 | print(i, end=' ') 8 | -------------------------------------------------------------------------------- /BOJ/16394.홍익대학교/6047198844.py: -------------------------------------------------------------------------------- 1 | N = int(input()) 2 | print(N - 2018 + 72) -------------------------------------------------------------------------------- /BOJ/16395.파스칼의 삼각형/6047198844.py: -------------------------------------------------------------------------------- 1 | # (n-1)! / (n-m)! * m! 2 | import sys 3 | 4 | N, K = map(int, sys.stdin.readline().split()) 5 | 6 | arr = [1] 7 | for i in range(1, 31): 8 | arr.append(arr[-1] * i) 9 | print(arr[N - 1] // arr[(N - 1) - (K - 1)] // arr[K - 1]) 10 | -------------------------------------------------------------------------------- /BOJ/16430.제리와 톰/6047198844.py: -------------------------------------------------------------------------------- 1 | A, B = map(int, input().split()) 2 | print(B-A, B) -------------------------------------------------------------------------------- /BOJ/16435.스네이크버드/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | N, L = map(int, sys.stdin.readline().split()) 4 | nums = list(map(int, sys.stdin.readline().split())) 5 | nums.sort() 6 | for num in nums: 7 | if L >= num: 8 | L += 1 9 | else: 10 | break 11 | print(L) -------------------------------------------------------------------------------- /BOJ/16922.로마 숫자 만들기/6047198844.py: -------------------------------------------------------------------------------- 1 | from itertools import combinations_with_replacement 2 | 3 | N = int(input()) 4 | res = set() 5 | arr = [1, 5, 10, 50] 6 | 7 | for i in combinations_with_replacement(arr, N): 8 | res.add(sum(i)) 9 | print(len(res)) 10 | -------------------------------------------------------------------------------- /BOJ/1699.제곱수의 합/제곱수의_합_1699.py: -------------------------------------------------------------------------------- 1 | n=int(input()) 2 | dp=[0]*(n+1) 3 | s=[] 4 | dp[1]=1 5 | for i in range(1, 400): 6 | if i**2 >= 100000: break 7 | s.append(i) 8 | for i in range(1, n+1): 9 | q=[] 10 | for j in s: 11 | if i>=j**2: 12 | q.append(dp[i-j**2]) 13 | else: break; 14 | dp[i]=min(q)+1 15 | print(dp[n]) 16 | -------------------------------------------------------------------------------- /BOJ/17219.비밀번호 찾기/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | from collections import defaultdict 3 | 4 | N, M = map(int, sys.stdin.readline().split()) 5 | table = defaultdict(str) 6 | for _ in range(N): 7 | key, value = sys.stdin.readline().split() 8 | table[key] = value 9 | 10 | for _ in range(M): 11 | key = sys.stdin.readline().rstrip() 12 | print(table[key]) -------------------------------------------------------------------------------- /BOJ/1725.히스토그램/1725_히스토그램.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/1725.히스토그램/1725_히스토그램.cpp -------------------------------------------------------------------------------- /BOJ/17255.N으로 만들기/6047198844.py: -------------------------------------------------------------------------------- 1 | N = input() 2 | ans = 0 3 | Q = [N] 4 | 5 | while Q: 6 | num = Q.pop() 7 | if len(num) == 1: 8 | ans += 1 9 | else: 10 | i = num[1:] 11 | j = num[:-1] 12 | Q.append(i) 13 | if i != j: 14 | Q.append(j) 15 | 16 | 17 | print(ans) -------------------------------------------------------------------------------- /BOJ/17362.수학은 체육과목 입니다2/6047198844.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | res = n % 8 3 | if res == 1: 4 | print(1) 5 | elif res == 2 or res == 0: 6 | print(2) 7 | elif res == 3 or res == 7: 8 | print(3) 9 | elif res == 4 or res == 6: 10 | print(4) 11 | else: 12 | print(5) -------------------------------------------------------------------------------- /BOJ/1758.알바생 강호/6047198844.py: -------------------------------------------------------------------------------- 1 | N = int(input()) 2 | 3 | tips = list() 4 | for _ in range(N): 5 | tips.append(int(input())) 6 | tips.sort(reverse=True) 7 | 8 | res = 0 9 | i = 0 10 | for nth in range(N): 11 | if tips[nth] - nth > 0: 12 | res += tips[nth] - nth 13 | else: 14 | break 15 | print(res) 16 | -------------------------------------------------------------------------------- /BOJ/17626.Four Squares/6047198844.py: -------------------------------------------------------------------------------- 1 | from itertools import combinations_with_replacement 2 | 3 | n = int(input()) 4 | squares = [i ** 2 for i in range(225)] 5 | for combinations in combinations_with_replacement(squares, 3): 6 | if sum(combinations) == n: 7 | print(len(combinations) - combinations.count(0)) 8 | exit() 9 | print(4) 10 | -------------------------------------------------------------------------------- /BOJ/1764.듣보잡/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | from collections import Counter 3 | 4 | N, M = map(int, input().split()) 5 | names = [sys.stdin.readline().rstrip() for _ in range(N + M)] 6 | count_names = Counter(names) 7 | res = list(filter(lambda names: count_names[names] == 2, Counter(names).keys())) 8 | res.sort() 9 | print(len(res)) 10 | for i in res: 11 | print(i) -------------------------------------------------------------------------------- /BOJ/1769.3의 배수/6047198844.py: -------------------------------------------------------------------------------- 1 | X = input() 2 | cnt = 0 3 | while len(X) > 1: 4 | X = str(sum(map(int, X))) 5 | cnt += 1 6 | print(cnt) 7 | if X == '3' or X == '6' or X == '9': 8 | print('YES') 9 | else: 10 | print('NO') 11 | -------------------------------------------------------------------------------- /BOJ/1789.수들의 합/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | S = int(sys.stdin.readline()) 4 | 5 | cnt = 0 6 | acc = 0 7 | i = 1 8 | while acc <= S: 9 | acc += i 10 | i += 1 11 | cnt += 1 12 | print(cnt-1) -------------------------------------------------------------------------------- /BOJ/18108.1998년생인 내가 태국에서는 2541년생?!/6047198844.py: -------------------------------------------------------------------------------- 1 | print(int(input())-543) -------------------------------------------------------------------------------- /BOJ/1834.나머지와 몫이 같은 수/6047198844.py: -------------------------------------------------------------------------------- 1 | N = int(input()) 2 | res = 0 3 | # 나머지이자 몫 4 | for i in range(1, N): 5 | res += i * N + i 6 | print(res) -------------------------------------------------------------------------------- /BOJ/1904.01타일/6047198844.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace std; 4 | 5 | int dp(int n) { 6 | int a = 1; 7 | int b = 2; 8 | int temp; 9 | for (int i = 2; i <= n; i++) { 10 | temp = b; 11 | b = (a + b) % 15746; 12 | a = temp; 13 | } 14 | return a; 15 | } 16 | 17 | int main() { 18 | int n; 19 | cin >> n; 20 | cout << dp(n); 21 | } -------------------------------------------------------------------------------- /BOJ/1916.최소비용 구하기/1916_최소비용 구하기.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/1916.최소비용 구하기/1916_최소비용 구하기.cpp -------------------------------------------------------------------------------- /BOJ/1940.주몽/6047198844.py: -------------------------------------------------------------------------------- 1 | N = int(input()) 2 | M = int(input()) 3 | shields = map(int, input().split()) 4 | table = dict() 5 | res = 0 6 | for shield in shields: 7 | if shield in table: 8 | res += 1 9 | elif shield < M: 10 | table[M - shield] = True 11 | print(res) -------------------------------------------------------------------------------- /BOJ/19532.수학은 비대면강의입니다/6047198844.py: -------------------------------------------------------------------------------- 1 | a, b, c, d, e, f = map(int, input().split()) 2 | for x in range(-999, 999 + 1): 3 | for y in range(-999, 999 + 1): 4 | if a*x + b*y == c and d*x + e*y == f: 5 | print(x, y) -------------------------------------------------------------------------------- /BOJ/19698.헛간 청약/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | N, W, H, L = map(int, sys.stdin.readline().split()) 4 | print(min(N, (W // L) * (H // L))) 5 | -------------------------------------------------------------------------------- /BOJ/20053.최소, 최대 2/6047198844.py: -------------------------------------------------------------------------------- 1 | T = int(input()) 2 | for _ in range(T): 3 | N = int(input()) 4 | nums = list(map(int, input().split())) 5 | print(min(nums), max(nums)) 6 | -------------------------------------------------------------------------------- /BOJ/20499.Darius님 한타 안함?/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | K, D, A = map(int, sys.stdin.readline().split('/')) 4 | if (K + A < D) or D == 0: 5 | print('hasu') 6 | else: 7 | print('gosu') -------------------------------------------------------------------------------- /BOJ/20944.팰린드롬 척화비/6047198844.py: -------------------------------------------------------------------------------- 1 | N = int(input()) 2 | if N % 2 == 0: 3 | print('a'*N) 4 | else: 5 | print('a'*(N//2) + 'b' + 'a'*(N//2)) -------------------------------------------------------------------------------- /BOJ/2156.포도주 시식/rockmiin.py: -------------------------------------------------------------------------------- 1 | 2 | n= int(input()) 3 | wine=[0] 4 | dp=[0 for _ in range((n+1))] 5 | for i in range(n): 6 | wine.append(int(input())) 7 | # print(wine) 8 | 9 | for i in range(1, n+1): 10 | if i<3: dp[i]= sum(wine[:i+1]); continue 11 | dp[i]= max(dp[i-1], dp[i-2]+ wine[i], dp[i-3]+ wine[i-1]+ wine[i]) 12 | 13 | print(dp[-1]) 14 | -------------------------------------------------------------------------------- /BOJ/2161.카드1/6047198844.py: -------------------------------------------------------------------------------- 1 | from collections import deque 2 | 3 | N = int(input()) 4 | arr = deque(list(range(1, N+1))) 5 | while arr: 6 | print(arr.popleft(), end=' ') 7 | if arr: 8 | t = arr.popleft() 9 | arr.append(t) 10 | -------------------------------------------------------------------------------- /BOJ/2164.카드2/6047198844.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | 6 | int main() { 7 | int N; 8 | cin >> N; 9 | queue q; 10 | for (int i = 1; i <= N; i++) { 11 | q.push(i); 12 | } 13 | 14 | while (q.size() != 1) { 15 | q.pop(); 16 | q.push(q.front()); 17 | q.pop(); 18 | } 19 | cout << q.front(); 20 | } -------------------------------------------------------------------------------- /BOJ/2164.카드2/6047198844.py: -------------------------------------------------------------------------------- 1 | from collections import deque 2 | 3 | N = int(input()) 4 | cards = deque(range(1, N+1)) 5 | while len(cards) > 1: 6 | cards.popleft() 7 | cards.rotate(-1) 8 | print(cards.pop()) -------------------------------------------------------------------------------- /BOJ/21756.지우개/6047198844.py: -------------------------------------------------------------------------------- 1 | N = int(input()) 2 | arr = list(range(1, N + 1)) 3 | 4 | while len(arr) > 1: 5 | for idx in range(0, len(arr) // 2 + len(arr) % 2): 6 | del arr[idx] 7 | print(arr[0]) -------------------------------------------------------------------------------- /BOJ/2217.로프/6047198844.py: -------------------------------------------------------------------------------- 1 | N = int(input()) 2 | ropes = list() 3 | for _ in range(N): 4 | ropes.append(int(input())) 5 | ropes.sort(reverse=True) 6 | print(max([(idx + 1) * rope for idx, rope in enumerate(ropes)])) 7 | -------------------------------------------------------------------------------- /BOJ/2303.숫자 게임/6047198844.py: -------------------------------------------------------------------------------- 1 | from itertools import combinations 2 | 3 | N = int(input()) 4 | res_person = 1 5 | res_num = 0 6 | 7 | for i in range(1, N+1): 8 | for j in combinations(map(int, input().split()), 3): 9 | s = sum(j) 10 | if s % 10 >= res_num: 11 | res_num = s % 10 12 | res_person = i 13 | print(res_person) -------------------------------------------------------------------------------- /BOJ/2338.긴자리 계산/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | A = int(sys.stdin.readline()) 4 | B = int(sys.stdin.readline()) 5 | print(A+B) 6 | print(A-B) 7 | print(A*B) 8 | -------------------------------------------------------------------------------- /BOJ/23795.사장님 도박은 재미로 하셔야 합니다/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | res = 0 4 | while True: 5 | N = int(sys.stdin.readline()) 6 | if N == -1: 7 | print(res) 8 | exit() 9 | res += N -------------------------------------------------------------------------------- /BOJ/23825.SASA 모형을 만들어보자/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | N, M = map(int, sys.stdin.readline().split()) 4 | print(min(N//2, M//2)) -------------------------------------------------------------------------------- /BOJ/24039.2021은 무엇이 특별할까/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103] 4 | N = int(sys.stdin.readline()) 5 | for i in range(len(primes) - 1): 6 | mul = primes[i] * primes[i+1] 7 | if mul > N: 8 | print(mul) 9 | exit() 10 | 11 | -------------------------------------------------------------------------------- /BOJ/2407.조합/6047198844.py: -------------------------------------------------------------------------------- 1 | n, m = map(int, input().split()) 2 | 3 | res = 1 4 | for i in range(m): 5 | res *= (n-i) 6 | for i in range(1, m+1): 7 | res //= i 8 | print(res) -------------------------------------------------------------------------------- /BOJ/2420.사파리월드/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | N, M = map(int, sys.stdin.readline().split()) 4 | print(abs(N-M)) -------------------------------------------------------------------------------- /BOJ/24262.알고리즘 수업 - 알고리즘의 수행 시간 1/6047198844.py: -------------------------------------------------------------------------------- 1 | print(1) 2 | print(0) -------------------------------------------------------------------------------- /BOJ/2444.별 찍기 - 7/6047198844.py: -------------------------------------------------------------------------------- 1 | # 1, 3, 5, 7, 9, 7, 3, 1 2 | N = int(input()) 3 | for i in range(1, N + 1): 4 | print(' ' * (N - i) + '*' * ((i - 1) * 2 + 1)) 5 | for i in range(1, N + 1): 6 | print(' ' * i + '*' * ((N - i - 1) * 2 + 1)) 7 | -------------------------------------------------------------------------------- /BOJ/2468.안전 영역/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/2468.안전 영역/6047198844.cpp -------------------------------------------------------------------------------- /BOJ/2475.검증수/6047198844.py: -------------------------------------------------------------------------------- 1 | numbers = map(int, input().split()) 2 | cnt = 0 3 | for number in numbers: 4 | cnt += number**2 5 | print(cnt % 10) -------------------------------------------------------------------------------- /BOJ/2480.주사위 세개/6047198844.py: -------------------------------------------------------------------------------- 1 | a, b, c = map(int, input().split()) 2 | if a == b == c: 3 | print(10000 + a * 1000) 4 | elif a == b or a == c: 5 | print(1000 + a * 100) 6 | elif b == c: 7 | print(1000 + b * 100) 8 | else: 9 | print(max(a, b, c) * 100) -------------------------------------------------------------------------------- /BOJ/25083.새싹/6047198844.py: -------------------------------------------------------------------------------- 1 | print(''' ,r'"7 2 | r`-_ ,' ,/ 3 | \. ". L_r' 4 | `~\/ 5 | | 6 | | 7 | ''') -------------------------------------------------------------------------------- /BOJ/25191.치킨댄스를 추는 곰곰이를 본 임스/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | N = int(input()) 4 | A, B = map(int, sys.stdin.readline().split()) 5 | print(min(A//2 + B, N)) -------------------------------------------------------------------------------- /BOJ/2523.별찍기-13/6047198844.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | for i in range(1,n+1): 3 | print('*'*i) 4 | for j in range(n-1, 0, -1): 5 | print('*'*j) -------------------------------------------------------------------------------- /BOJ/2525.오븐 시계/6047198844.py: -------------------------------------------------------------------------------- 1 | start_hour, start_minute = map(int, input().split()) 2 | need_minute = int(input()) 3 | end_minute, need_hour = (start_minute + need_minute) % 60, (start_minute + need_minute) // 60 4 | end_hour = (start_hour + need_hour) % 24 5 | print(end_hour, end_minute) -------------------------------------------------------------------------------- /BOJ/2553.마지막 펙토리얼 수/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/2553.마지막 펙토리얼 수/6047198844.cpp -------------------------------------------------------------------------------- /BOJ/2576.홀수/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | arr = [] 4 | for _ in range(7): 5 | i = int(input()) 6 | if i % 2 == 1: 7 | arr.append(i) 8 | if arr: 9 | print(sum(arr)) 10 | print(min(arr)) 11 | else: 12 | print(-1) -------------------------------------------------------------------------------- /BOJ/2651.자동차경주대회/2651_자동차경주대회.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/2651.자동차경주대회/2651_자동차경주대회.cpp -------------------------------------------------------------------------------- /BOJ/2669.직사각형 네개의 합집합의 면적 구하기/2669_직사각형 네개의 합집합의 면적 구하기.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/2669.직사각형 네개의 합집합의 면적 구하기/2669_직사각형 네개의 합집합의 면적 구하기.cpp -------------------------------------------------------------------------------- /BOJ/2693.N번째 큰 수/6047198844.py: -------------------------------------------------------------------------------- 1 | T = int(input()) 2 | 3 | for _ in range(T): 4 | print(sorted(list(map(int, input().split())))[-3]) 5 | -------------------------------------------------------------------------------- /BOJ/2729.이진수 덧셈/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://www.acmicpc.net/problem/2729 3 | 이진수 덧셈 4 | [풀이] 5 | 1. int(x, 2)는 이진수를 십진수로 변환 6 | 2. format(num, 'b')는 num을 이진수(=binary)로 변환 7 | ''' 8 | import sys 9 | input = sys.stdin.readline 10 | N = int(input().strip()) 11 | for _ in range(N): 12 | a, b = map(lambda x : int(x, 2), input().strip().split()) 13 | print(format(a+b, 'b')) -------------------------------------------------------------------------------- /BOJ/2744.대소문자 바꾸기/6047198844.py: -------------------------------------------------------------------------------- 1 | print(input().swapcase()) -------------------------------------------------------------------------------- /BOJ/2747.피보나치 수/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/2747.피보나치 수/6047198844.cpp -------------------------------------------------------------------------------- /BOJ/2747.피보나치 수/sangmandu.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | a, b = 0, 1 3 | for _ in range(n): 4 | a, b = b, a+b 5 | print(a) 6 | -------------------------------------------------------------------------------- /BOJ/2748.피보나치 수/sangmandu.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | a, b = 0, 1 3 | for _ in range(n): 4 | a, b = b, a+b 5 | print(a) 6 | -------------------------------------------------------------------------------- /BOJ/2752.세수정렬/6047198844.py: -------------------------------------------------------------------------------- 1 | from _curses import endwin 2 | 3 | arr = sorted(list(map(int, input().split()))) 4 | for i in arr: 5 | print(i, end=' ') -------------------------------------------------------------------------------- /BOJ/2776.암기왕/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | T = int(sys.stdin.readline()) 4 | for _ in range(T): 5 | N = int(sys.stdin.readline()) 6 | memo1 = set(map(int, sys.stdin.readline().split())) 7 | M = int(sys.stdin.readline()) 8 | memo2 = list(map(int, sys.stdin.readline().split())) 9 | for integer in memo2: 10 | print(int(integer in memo1)) -------------------------------------------------------------------------------- /BOJ/2798.블랙잭/6047198844.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/2798.블랙잭/6047198844.java -------------------------------------------------------------------------------- /BOJ/2812.크게 만들기/6047198844.py: -------------------------------------------------------------------------------- 1 | N, K = map(int, input().split()) 2 | num = list(input()) 3 | k, stack = K, [] 4 | for i in range(N): 5 | while k > 0 and stack and stack[-1] < num[i]: 6 | stack.pop() 7 | k -= 1 8 | stack.append(num[i]) 9 | print(''.join(stack[:N-K])) -------------------------------------------------------------------------------- /BOJ/2822.점수 계산/6047198844.py: -------------------------------------------------------------------------------- 1 | import heapq 2 | 3 | PQ = [] 4 | for i in range(1, 8+1): 5 | heapq.heappush(PQ, (-int(input()), i)) 6 | 7 | res = [] 8 | s = 0 9 | for i in range(5): 10 | k, l = heapq.heappop(PQ) 11 | res.append(l) 12 | s -= k 13 | print(s) 14 | res.sort() 15 | for i in res: 16 | print(i, end=' ') -------------------------------------------------------------------------------- /BOJ/2839.설탕 배달/6047198844.py: -------------------------------------------------------------------------------- 1 | N = int(input()) 2 | three = 0 3 | five = 0 4 | while N % 5 and N >= 0: 5 | N -= 3 6 | three += 1 7 | five = N // 5 8 | print(-1) if N < 0 else print(three + five) -------------------------------------------------------------------------------- /BOJ/2839.설탕 배달/rockmiin.py: -------------------------------------------------------------------------------- 1 | 2 | n= int(input()) 3 | 4 | min= 5000 5 | 6 | for i in range((n//5)+1): 7 | if n%3==0 and n//3 < min: 8 | min= (n//3) + i 9 | n-=5 10 | if min== 5000: 11 | min= -1 12 | 13 | print(min) 14 | 15 | -------------------------------------------------------------------------------- /BOJ/2845.파티가 끝나고 난 뒤/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | L, P = map(int, sys.stdin.readline().split()) 4 | C = L * P 5 | for i in map(int, sys.stdin.readline().split()): 6 | print(i-C, end=' ') -------------------------------------------------------------------------------- /BOJ/2863.이게 분수?/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | A, B = map(int, sys.stdin.readline().split()) 4 | C, D = map(int, sys.stdin.readline().split()) 5 | 6 | arr = [] 7 | arr.append(A / C + B / D) 8 | arr.append(C / D + A / B) 9 | arr.append(D / B + C / A) 10 | arr.append(B / A + D / C) 11 | print(arr.index(max(arr))) -------------------------------------------------------------------------------- /BOJ/2869.달팽이는 올라가고 싶다/6047198844.py: -------------------------------------------------------------------------------- 1 | A, B, V = map(int, input().split()) 2 | print((V - B - 1) // (A - B) + 1) -------------------------------------------------------------------------------- /BOJ/2914.저작권/6047198844.py: -------------------------------------------------------------------------------- 1 | A, B = map(int, input().split()) 2 | print(A * (B - 1) + 1) 3 | -------------------------------------------------------------------------------- /BOJ/2935.소음/6047198844.py: -------------------------------------------------------------------------------- 1 | A = int(input()) 2 | cal = str(input()) 3 | B = int(input()) 4 | 5 | if cal == '*': 6 | print(A*B) 7 | else: 8 | print(A+B) -------------------------------------------------------------------------------- /BOJ/3053.택시 기하학/6047198844.cpp: -------------------------------------------------------------------------------- 1 | #define _USE_MATH_DEFINES 2 | #include 3 | #include 4 | 5 | using namespace std; 6 | 7 | int main() { 8 | double R; 9 | scanf("%lf", &R); 10 | printf("%.6lf\n%.6lf", (R * R * M_PI), (R * R * 2)); 11 | } -------------------------------------------------------------------------------- /BOJ/3135.라디오/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | A, B = map(int, sys.stdin.readline().split()) 4 | N = int(sys.stdin.readline()) 5 | res = abs(A-B) 6 | for _ in range(N): 7 | i = int(sys.stdin.readline()) 8 | res = min(abs(B-i)+1, res) 9 | print(res) -------------------------------------------------------------------------------- /BOJ/4101.크냐?/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | while True: 4 | A, B = map(int, sys.stdin.readline().split()) 5 | if A == B == 0: 6 | break 7 | if A > B: 8 | print("Yes") 9 | else: 10 | print("No") 11 | -------------------------------------------------------------------------------- /BOJ/4150.피보나치 수 7/sangmandu.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | a, b = 0, 1 3 | for _ in range(n): 4 | a, b = b, a+b 5 | print(a) 6 | -------------------------------------------------------------------------------- /BOJ/4690.완전 세제곱 /6047198844.py: -------------------------------------------------------------------------------- 1 | from itertools import combinations 2 | 3 | res = [] 4 | for b, c, d in combinations(range(1,101),3): 5 | a = (b ** 2 + c ** 2 + d ** 2) ** (0.5) 6 | if 100 >= a == int(a): 7 | res.append((int(a), b, c, d)) 8 | 9 | res.sort() 10 | for a, b, c, d in res: 11 | print(f'Cube = {a}, Triple = ({b},{c},{d})') -------------------------------------------------------------------------------- /BOJ/4796.캠핑/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | i = 0 4 | while True: 5 | i += 1 6 | L, P, V = map(int, sys.stdin.readline().split()) 7 | if L == 0 and P == 0 and V == 0: 8 | break 9 | print('Case {}: {}'.format(i, (V // P) * L + min(V % P, L))) 10 | -------------------------------------------------------------------------------- /BOJ/5337.웰컴/6047198844.py: -------------------------------------------------------------------------------- 1 | print('. . .') 2 | print('| | _ | _. _ ._ _ _') 3 | print('|/\|(/.|(_.(_)[ | )(/.') 4 | -------------------------------------------------------------------------------- /BOJ/5338.마이크로소프트 로고/6047198844.py: -------------------------------------------------------------------------------- 1 | print(" _.-;;-._") 2 | print("'-..-'| || |") 3 | print("'-..-'|_.-;;-._|") 4 | print("'-..-'| || |") 5 | print("'-..-'|_.-''-._|") -------------------------------------------------------------------------------- /BOJ/5430.AC/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/BOJ/5430.AC/6047198844.cpp -------------------------------------------------------------------------------- /BOJ/5522.카드 게임/6047198844.py: -------------------------------------------------------------------------------- 1 | print(sum([int(input()) for _ in range(5)])) -------------------------------------------------------------------------------- /BOJ/5532.방학 숙제/6047198844.py: -------------------------------------------------------------------------------- 1 | import math 2 | 3 | L = int(input()) 4 | A = int(input()) 5 | B = int(input()) 6 | C = int(input()) 7 | D = int(input()) 8 | print(L - max(math.ceil(A/C), math.ceil(B/D))) -------------------------------------------------------------------------------- /BOJ/5554.심부름 가는 길/6047198844.py: -------------------------------------------------------------------------------- 1 | S = 0 2 | for _ in range(4): 3 | S += int(input()) 4 | print(S // 60) 5 | print(S % 60) -------------------------------------------------------------------------------- /BOJ/5596.시험 점수/6047198844.py: -------------------------------------------------------------------------------- 1 | result = -1 2 | for _ in range(2): 3 | arr = list(map(int, input().split())) 4 | result = max(result, sum(arr)) 5 | print(result) -------------------------------------------------------------------------------- /BOJ/5597.과제 안 내신 분..?/6047198844.py: -------------------------------------------------------------------------------- 1 | attendance_numbers = set(range(1, 31)) 2 | for _ in range(28): 3 | attendance_numbers.remove(int(input())) 4 | for absent in sorted(attendance_numbers): 5 | print(absent) -------------------------------------------------------------------------------- /BOJ/5618.공약수/6047198844.py: -------------------------------------------------------------------------------- 1 | def gcd(a, b): 2 | while b > 0: 3 | a, b = b, a % b 4 | return a 5 | 6 | 7 | n = int(input()) 8 | nums = list(map(int, input().split())) 9 | 10 | gcd = gcd(nums[0], nums[1]) if n == 2 else gcd(gcd(nums[0], nums[1]), nums[2]) 11 | 12 | for i in range(1, gcd + 1): 13 | if gcd % i == 0: 14 | print(i) -------------------------------------------------------------------------------- /BOJ/5671.호텔 방 번호/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | from collections import Counter 3 | 4 | while True: 5 | try: 6 | N, M = map(int, sys.stdin.readline().split()) 7 | cnt = 0 8 | for i in range(N, M + 1): 9 | cnt += Counter(str(i)).most_common()[0][1] == 1 10 | print(cnt) 11 | except: 12 | break 13 | -------------------------------------------------------------------------------- /BOJ/7785.회사에 있는 사람/6047198844.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | people = set() 3 | for _ in range(n): 4 | name, log = input().split() 5 | if log == 'enter': 6 | people.add(name) 7 | elif name in people: 8 | people.remove(name) 9 | for person in sorted(people)[::-1]: 10 | print(person) -------------------------------------------------------------------------------- /BOJ/8979.올림픽/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | N, K = map(int, sys.stdin.readline().split()) 4 | arr = list() 5 | table = dict() 6 | 7 | for _ in range(N): 8 | i, *j = map(int, sys.stdin.readline().split()) 9 | table[i] = j 10 | arr.append(j) 11 | arr.sort(reverse=True) 12 | print(arr.index(table[K]) + 1) -------------------------------------------------------------------------------- /BOJ/9085.더하기/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | T = int(sys.stdin.readline()) 4 | for _ in range(T): 5 | N = int(sys.stdin.readline()) 6 | print(sum(map(int,sys.stdin.readline().split()))) -------------------------------------------------------------------------------- /BOJ/9316.Hello Judge/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | N = int(sys.stdin.readline()) 4 | for i in range(1, N+1): 5 | print(f'Hello World, Judge {i}!') -------------------------------------------------------------------------------- /BOJ/9461.파도반수열/rockmiin.py: -------------------------------------------------------------------------------- 1 | 2 | test_case=int(input()) 3 | for i in range(test_case): 4 | n=int(input()) 5 | dp=[1, 1, 1, 2, 2] 6 | if n>5: 7 | for i in range(n-5): 8 | dp.append(dp[-1]+dp[-5]) 9 | print(dp[-1]) 10 | else: print(dp[n-1]) -------------------------------------------------------------------------------- /BOJ/9625.BABBA/6047198844.py: -------------------------------------------------------------------------------- 1 | commands = 'A' 2 | 3 | K = int(input()) 4 | a, b = 0, 1 5 | for _ in range(1, K): 6 | a, b = b, a+b 7 | print(a, b) -------------------------------------------------------------------------------- /BOJ/9655.돌 게임/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | N = int(sys.stdin.readline()) 4 | print("SK") if N % 2 == 1 else print("CY") -------------------------------------------------------------------------------- /BOJ/9933.민균이의 비밀번호/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | visited = set() 4 | N = int(input()) 5 | for _ in range(N): 6 | line = sys.stdin.readline().rstrip() 7 | visited.add(line) 8 | if line[::-1] in visited: 9 | print(len(line), line[len(line)//2]) -------------------------------------------------------------------------------- /BOJ/solved.ac_class/Class01/10818. 최소, 최대/sAp00n.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | N = int(stdin.readline()) 4 | 5 | input_list = stdin.readline().split() 6 | input_list = [int(ele) for ele in input_list] 7 | 8 | print(f'{min(input_list)} {max(input_list)}') 9 | -------------------------------------------------------------------------------- /BOJ/solved.ac_class/Class01/10869.사칙연산/sAp00n.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | input_list = sys.stdin.readline().split() 4 | A, B = (int(ele) for ele in input_list) 5 | 6 | print(A + B) 7 | print(A - B) 8 | print(A * B) 9 | print(A // B) 10 | print(A % B) 11 | -------------------------------------------------------------------------------- /BOJ/solved.ac_class/Class01/10950.A + B - 3/sAp00n.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | T = int(stdin.readline()) 4 | 5 | for case in range(T): 6 | input_list = stdin.readline().split() 7 | input_list = [int(ele) for ele in input_list] 8 | print(input_list[0]+input_list[1]) 9 | -------------------------------------------------------------------------------- /BOJ/solved.ac_class/Class01/11654.아스키 코드/sAp00n.py: -------------------------------------------------------------------------------- 1 | val = input() 2 | print(ord(val)) 3 | 4 | -------------------------------------------------------------------------------- /BOJ/solved.ac_class/Class01/11720.숫자의 합/sAp00n.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | N = int(stdin.readline()) 4 | input_str = stdin.readline() 5 | input_list = map(int, [input_str[idx] for idx in range(N)]) 6 | 7 | print(sum(input_list)) 8 | -------------------------------------------------------------------------------- /BOJ/solved.ac_class/Class01/1330.두 수 비교하기/sAp00n.py: -------------------------------------------------------------------------------- 1 | import sys 2 | input_list = sys.stdin.readline().split() 3 | A, B = (int(ele) for ele in input_list) 4 | 5 | if A > B: print('>') 6 | elif A < B: print('<') 7 | else: print('==') 8 | -------------------------------------------------------------------------------- /BOJ/solved.ac_class/Class01/2438.별 찍기 - 1/sAp00n.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | N = int(stdin.readline()) 4 | 5 | for i in range(N): 6 | print('*'*(i+1)) -------------------------------------------------------------------------------- /BOJ/solved.ac_class/Class01/2562.최댓값/sAp00n.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | input_list = [int(stdin.readline()) for _ in range(9)] 3 | 4 | max_val = max(input_list) 5 | max_val_idx = input_list.index(max_val) 6 | 7 | print(f'{max_val}\n{max_val_idx+1}') 8 | -------------------------------------------------------------------------------- /BOJ/solved.ac_class/Class01/2739.구구단/sAp00n.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | N = int(stdin.readline()) 4 | 5 | for i in range(1, 10): print(f'{N} * {i} = {N * i}') -------------------------------------------------------------------------------- /BOJ/solved.ac_class/Class01/2920.음계/sAp00n.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | a = list(map(int, stdin.readline().split())) 3 | 4 | if a == sorted(a): 5 | print('ascending') 6 | elif a == sorted(a, reverse=True): 7 | print('descending') 8 | else: 9 | print('mixed') 10 | -------------------------------------------------------------------------------- /BOJ/solved.ac_class/Class02/11050. 이항계수/sAp00n.py: -------------------------------------------------------------------------------- 1 | from math import factorial as f 2 | 3 | n, k = map(int, input().split()) 4 | 5 | if k < 0 or k > n: 6 | print(0) 7 | else: 8 | print(int(f(n) / (f(k) * f(n - k)))) 9 | -------------------------------------------------------------------------------- /BOJ/solved.ac_class/Class02/11650.좌표 정렬하기/sAp00n.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | N = int(stdin.readline()) 3 | dots = [] * range(N) 4 | for i in range(N): 5 | dots[i] = list(map(int,stdin.readline().split())) 6 | 7 | dots.sort() 8 | for i in dots: 9 | print(f'{i[0]} {i[1]}') 10 | -------------------------------------------------------------------------------- /BOJ/solved.ac_class/Class02/2609. 최대공약수와 최소공배수/sAp00n.py: -------------------------------------------------------------------------------- 1 | from sys import stdin 2 | 3 | 4 | def gdc(a, b): 5 | if b > a: 6 | a, b = b, a 7 | while b > 0: 8 | a, b = b, a%b 9 | return a 10 | 11 | 12 | a, b = list(map(int, stdin.readline().split())) 13 | gdc_num = gdc(a, b) 14 | print(gdc_num) 15 | print(int((a * b)/gdc_num)) 16 | 17 | -------------------------------------------------------------------------------- /JSTestModule.js: -------------------------------------------------------------------------------- 1 | const assert = require('assert').strict; 2 | 3 | 4 | module.exports = function (filePath, solution) { 5 | require(filePath).forEach(({ input, output }) => { 6 | assert.deepEqual(solution(...input), output); 7 | }); 8 | }; 9 | -------------------------------------------------------------------------------- /LeetCode/Array/Array_Partition_I/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def arrayPairSum(self, nums: List[int]) -> int: 3 | #짝수개의 n 4 | nums.sort() 5 | return sum(i for i in nums[::2]) -------------------------------------------------------------------------------- /LeetCode/Array/Contains_Duplicate/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def containsDuplicate(self, nums: List[int]) -> bool: 3 | return len(nums) != len(set(nums)) -------------------------------------------------------------------------------- /LeetCode/Array/Contains_Duplicate/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def containsDuplicate(self, nums: List[int]) -> bool: 3 | nlist = sorted(nums) 4 | length = len(nlist) 5 | for i in range(length-1): 6 | if nlist[i] == nlist[i+1]: 7 | return True 8 | return False 9 | -------------------------------------------------------------------------------- /LeetCode/Array/Count_Negative_Numbers_in_a_Sorted_Matrix/6047198844.cpp: -------------------------------------------------------------------------------- 1 | class Solution { 2 | public: 3 | int countNegatives(vector>& grid) { 4 | int res = 0; 5 | for(auto g : grid){ 6 | res += upper_bound(g.rbegin(),g.rend(),-1) - g.rbegin(); 7 | } 8 | return res; 9 | } 10 | }; -------------------------------------------------------------------------------- /LeetCode/Array/Find Numbers with Even Number of Digits/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def findNumbers(self, nums: List[int]) -> int: 3 | res = 0 4 | for num in nums: 5 | res += len(str(num)) % 2 == 0 6 | return res -------------------------------------------------------------------------------- /LeetCode/Array/Find the Highest Altitude/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def largestAltitude(self, gain: List[int]) -> int: 3 | res = [0] 4 | for i in gain: 5 | res.append(res[-1] + i) 6 | return max(res) -------------------------------------------------------------------------------- /LeetCode/Array/Find_First_and_Last_Position_of_Element_in_Sorted_Array/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def searchRange(self, nums: List[int], target: int) -> List[int]: 3 | if target not in nums: 4 | return [-1, -1] 5 | return [nums.index(target), len(nums)-nums[-1::-1].index(target)-1] 6 | -------------------------------------------------------------------------------- /LeetCode/Array/Intersection_of_Two_Arrays/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]: 3 | return set(nums1) & set(nums2) 4 | # set.intersection(set(nums1), set(nums2)) 5 | -------------------------------------------------------------------------------- /LeetCode/Array/Largest_Number_At_Least_Twice_of_Others/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def dominantIndex(self, nums: List[int]) -> int: 3 | largest_number = max(nums) 4 | cnt = 0 5 | for num in nums: 6 | if num != largest_number and num * 2 > largest_number: 7 | return -1 8 | return nums.index(largest_number) -------------------------------------------------------------------------------- /LeetCode/Array/Marjority_Element/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def majorityElement(self, nums: List[int]) -> int: 3 | return Counter(nums).most_common(1)[0][0] -------------------------------------------------------------------------------- /LeetCode/Array/Marjority_Element/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def majorityElement(self, nums: List[int]) -> int: 3 | length = len(nums) 4 | s = list(set(nums)) # set으로 중복제거 5 | for n in s: 6 | if nums.count(n) > length/2: # count()로 해당개수 찾아서 비교 7 | return n -------------------------------------------------------------------------------- /LeetCode/Array/Maximum_Subarray/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def maxSubArray(self, nums: List[int]) -> int: 3 | for i in range(1,len(nums)): 4 | if nums[i-1] > 0: 5 | nums[i] += nums[i-1] 6 | return max(nums) -------------------------------------------------------------------------------- /LeetCode/Array/Missing Number/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def missingNumber(self, nums: List[int]) -> int: 3 | nums = set(nums) 4 | for i in range(len(nums)+1): 5 | if i not in nums: 6 | return i -------------------------------------------------------------------------------- /LeetCode/Array/Missing_Number/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def missingNumber(self, nums: List[int]) -> int: 3 | for i in range(len(nums)+1): # for문은 O(n), len()은 O(1) 시간복잡도를 가짐 4 | if i not in nums: 5 | return i 6 | -------------------------------------------------------------------------------- /LeetCode/Array/Move_Zeroes/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def moveZeroes(self, nums: List[int]) -> None: 3 | """ 4 | Do not return anything, modify nums in-place instead. 5 | """ 6 | N = nums.count(0) 7 | 8 | for _ in range(N): 9 | nums.remove(0) 10 | nums.append(0) -------------------------------------------------------------------------------- /LeetCode/Array/Remove Duplicates from Sorted Array II/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def removeDuplicates(self, nums: List[int]) -> int: 3 | i = 0 4 | #nums를 스택으로 쓰자. i는 top을 가리킨다. 5 | for num in nums: 6 | if i < 2 or nums[i-2] != num: 7 | nums[i] = num 8 | i += 1 9 | return i -------------------------------------------------------------------------------- /LeetCode/Array/Rotate_Array/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def rotate(self, nums: List[int], k: int) -> None: 3 | for i in range(k): 4 | nums.insert(0, nums[-1]) 5 | nums.pop() 6 | return nums 7 | -------------------------------------------------------------------------------- /LeetCode/Array/Running_Sum_of_1d_Array/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def runningSum(self, nums: List[int]) -> List[int]: 3 | return [sum([nums[j] for j in range(0, i)]) for i in range(1, len(nums)+1)] 4 | # 더해져야하는 마지막 번째 수가 1 ~ len(nums)+1 -------------------------------------------------------------------------------- /LeetCode/Array/Search_in_Rotated_Sorted_Array/HyeonJoeng.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def search(self, nums: List[int], target: int) -> int: 3 | if target not in nums: 4 | return -1 5 | answer = [i for i, x in enumerate(nums) if x == target] 6 | return int(answer[0]) 7 | -------------------------------------------------------------------------------- /LeetCode/Array/Single_Number/6047198844.py: -------------------------------------------------------------------------------- 1 | import collections 2 | 3 | class Solution: 4 | def singleNumber(self, nums: List[int]) -> int: 5 | return collections.Counter(nums).most_common()[-1][0] -------------------------------------------------------------------------------- /LeetCode/Array/Sort_Colors/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def sortColors(self, nums: List[int]) -> None: 3 | for m in nums: 4 | for i in range(len(nums)-1): 5 | if nums[i] > nums[i+1]: 6 | nums[i], nums[i+1] = nums[i+1], nums[i] 7 | -------------------------------------------------------------------------------- /LeetCode/Array/Spiral Matrix/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def spiralOrder(self, matrix: List[List[int]]) -> List[int]: 3 | return matrix and [*matrix.pop(0)] + self.spiralOrder([*zip(*matrix)][::-1]) 4 | ''' 5 | if matrix: 6 | ... 7 | else: 8 | return [] 9 | 와 같다. 10 | ''' -------------------------------------------------------------------------------- /LeetCode/Backtracking/Subsets_II/JeongShin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/LeetCode/Backtracking/Subsets_II/JeongShin.js -------------------------------------------------------------------------------- /LeetCode/Breadth-first_Search/Word_Ladder_II/JeongShin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/LeetCode/Breadth-first_Search/Word_Ladder_II/JeongShin.js -------------------------------------------------------------------------------- /LeetCode/DP/Climbing Stairs/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://leetcode.com/problems/climbing-stairs/ 3 | DP : 피보나치 이용 4 | ''' 5 | 6 | class Solution: 7 | def climbStairs(self, n: int) -> int: 8 | a, b = 1, 2 9 | for i in range(1, n): 10 | a, b = b, a+b 11 | return a 12 | 13 | ''' 14 | ''' -------------------------------------------------------------------------------- /LeetCode/DP/Counting_Bits/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://leetcode.com/problems/counting-bits/ 3 | Counting Bits 4 | 이진수 표현. format을 알면 쉽게 풀 수 있다 5 | ''' 6 | class Solution(object): 7 | def countBits(self, n): 8 | return [format(i, 'b').count('1') for i in range(n + 1)] 9 | 10 | ''' 11 | 완벽하게 푼듯 하다 12 | ''' -------------------------------------------------------------------------------- /LeetCode/DP/MinimumPathSum/ReadMe.md: -------------------------------------------------------------------------------- 1 | 출처 : https://leetcode.com/problems/minimum-path-sum/ -------------------------------------------------------------------------------- /LeetCode/DP/Unique_Paths/JeongShin.js: -------------------------------------------------------------------------------- 1 | const uniquePaths = function (m, n) { 2 | let dp = Array(m).fill(1); 3 | 4 | for (let i = 1; i < n; i++) { 5 | for (let j = 1; j < m; j++) { 6 | dp[j] += dp[j - 1]; 7 | } 8 | } 9 | 10 | return dp[m - 1]; 11 | }; 12 | 13 | uniquePaths(7, 3); -------------------------------------------------------------------------------- /LeetCode/DP/Unique_Paths/ReadMe.md: -------------------------------------------------------------------------------- 1 | 출처 : https://leetcode.com/problems/unique-paths/ -------------------------------------------------------------------------------- /LeetCode/Database/Duplicate_Emails/6047198844: -------------------------------------------------------------------------------- 1 | # Write your MySQL query statement below 2 | select Email 3 | from Person 4 | group by Email 5 | having count(*) > 1 -------------------------------------------------------------------------------- /LeetCode/Divide_and_Conquer/Kth_Largest_Element_in_an_Array/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def findKthLargest(self, nums: List[int], k: int) -> int: 3 | heapq.heapify(nums) 4 | 5 | for _ in range(len(nums) - k): 6 | heapq.heappop(nums) 7 | 8 | return heapq.heappop(nums) -------------------------------------------------------------------------------- /LeetCode/Divide_and_Conquer/Kth_Largest_Element_in_an_Array/HyeonJeong.java: -------------------------------------------------------------------------------- 1 | package LeetCode.Divide_and_Conquer.Kth_Largest_Element_in_an_Array; 2 | 3 | import java.util.Arrays; 4 | 5 | class HyeonJeong { 6 | public int findKthLargest(int[] nums, int k) { 7 | Arrays.sort(nums); 8 | return nums[nums.length-k]; // k 번째 큰 요소 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /LeetCode/Graph/Find_Center_of_Star_Graph/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://leetcode.com/problems/find-center-of-star-graph/ 3 | 1791. Find Center of Star Graph 4 | 그래프 5 | ''' 6 | class Solution(object): 7 | def findCenter(self, edges): 8 | return edges[0][0] if edges[0][0] in edges[1] else edges[0][1] 9 | ''' 10 | ''' -------------------------------------------------------------------------------- /LeetCode/Hash_Table/Find the Difference/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def findTheDifference(self, s: str, t: str) -> str: 3 | return (Counter(t) - Counter(s)).most_common(1)[0][0] -------------------------------------------------------------------------------- /LeetCode/Hash_Table/First_Unique_Character_in_a_String/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def firstUniqChar(self, s: str) -> int: 3 | table = Counter(s) 4 | for idx, char in enumerate(s): 5 | if table[char] == 1: 6 | return idx 7 | return -1 -------------------------------------------------------------------------------- /LeetCode/Hash_Table/Top_K_Frequent_Elements/6047198844.py: -------------------------------------------------------------------------------- 1 | #dictionary 사용법 2 | #https://dojang.io/mod/page/view.php?id=2308 3 | 4 | #Counter 사용법 5 | #https://www.daleseo.com/python-collections-counter 6 | 7 | class Solution: 8 | def topKFrequent(self, nums: List[int], k: int) -> List[int]: 9 | return [i for (i,v) in Counter(nums).most_common()[:k]] -------------------------------------------------------------------------------- /LeetCode/Hash_Table/Valid_Anagram/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def isAnagram(self, s: str, t: str) -> bool: 3 | return Counter(s) == Counter(t) 4 | -------------------------------------------------------------------------------- /LeetCode/Math/Add_Binary/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def addBinary(self, a: str, b: str) -> str: 3 | sum = int(a, 2) + int(b, 2) 4 | # int(문자열, 2) : 문자열을 읽어서 2진수로 바꿈 5 | # sum에는 두 숫자가 합쳐진 10진수가 저장됨 6 | return bin(sum)[2:] 7 | # bin()이 해당 숫자를 이진수로 만들고 문자열로 반환시킴 8 | -------------------------------------------------------------------------------- /LeetCode/Math/Add_Digits/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def addDigits(self, num: int) -> int: 3 | while num // 10 != 0: 4 | tmp = 0 5 | while num != 0: 6 | tmp += num % 10 7 | num //= 10 8 | num = tmp 9 | return num 10 | -------------------------------------------------------------------------------- /LeetCode/Math/Complement_of_Base_10_Integer/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def bitwiseComplement(self, N: int) -> int: 3 | num = bin(N) 4 | answer = '' 5 | for i in num[2:]: 6 | if i == '0': 7 | answer += '1' 8 | else: 9 | answer += '0' 10 | return int(answer, 2) # 2진수를 10진수로 -------------------------------------------------------------------------------- /LeetCode/Math/Day_of_the_Week/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def dayOfTheWeek(self, day: int, month: int, year: int) -> str: 3 | return datetime.date(year, month, day).strftime("%A") -------------------------------------------------------------------------------- /LeetCode/Math/Day_of_the_Year/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def dayOfYear(self, date: str) -> int: 3 | day = datetime.date.fromisoformat(date) 4 | return int(day.strftime('%j')) -------------------------------------------------------------------------------- /LeetCode/Math/Find_Numbers_with_Even_Number_of_Digits/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | # 짝수의 개수 찾는 문제 3 | def findNumbers(self, nums: List[int]) -> int: 4 | return len([n for n in nums if len(str(n))%2 == 0]) 5 | -------------------------------------------------------------------------------- /LeetCode/Math/Number_of_Steps_to_Reduce_a_Number_to_Zero/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def numberOfSteps(self, num: int) -> int: 3 | cnt = 0 # 단계 수 4 | while (num != 0) : 5 | cnt += 1 6 | if num % 2 == 0: 7 | num /= 2 8 | continue 9 | num -= 1 10 | return cnt 11 | -------------------------------------------------------------------------------- /LeetCode/Math/Permutation Sequence/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def getPermutation(self, n: int, k: int) -> str: 3 | s = map(str,range(1,n+1)) 4 | cnt = 1 5 | for i in permutations(s): 6 | if k == cnt: 7 | return ''.join(i) 8 | cnt += 1 -------------------------------------------------------------------------------- /LeetCode/Math/Pow(x,_n)/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def myPow(self, x: float, n: int) -> float: 3 | if n == 0: 4 | return 1 5 | if n < 0: 6 | n = -n 7 | x = 1 / x 8 | #짝수? 9 | return self.myPow(x*x,n//2) if n % 2 == 0 else x*self.myPow(x*x,n//2) -------------------------------------------------------------------------------- /LeetCode/Math/Power_of_Four/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def isPowerOfFour(self, n: int) -> bool: 3 | i = 0 4 | while n > (4 ** i): 5 | i += 1 6 | return n == (4 ** i) 7 | -------------------------------------------------------------------------------- /LeetCode/Math/Power_of_Three/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def isPowerOfThree(self, n: int) -> bool: 3 | if n == 0: 4 | return False 5 | while (n % 3) == 0: # 3으로 나눠지는 경우에만 계속 나눠서 1이 될때까지 6 | n /= 3 7 | if n == 1: 8 | return True 9 | return False -------------------------------------------------------------------------------- /LeetCode/Math/Power_of_Two/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def isPowerOfTwo(self, n: int) -> bool: 3 | return n > 0 and 1 == format(n,'b').count('1') -------------------------------------------------------------------------------- /LeetCode/Math/Reverse_Integer/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def reverse(self, x: int) -> int: 3 | #부호값이 정해지지 않은 답. 4 | ans = int(str(abs(x))[::-1]) 5 | if ans == 0 or ans < -2**31 or ans > 2**31 - 1: 6 | return 0 7 | return x // abs(x) * ans -------------------------------------------------------------------------------- /LeetCode/Math/Rotate_Image/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def rotate(self, matrix: List[List[int]]) -> None: 3 | n = len(matrix[0]) 4 | copy_matrix = copy.deepcopy(matrix) 5 | for c in range(n): 6 | for r in range(n): 7 | matrix[r][c]= copy_matrix[n-c-1][r] 8 | -------------------------------------------------------------------------------- /LeetCode/Math/Sqrt(x)/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def mySqrt(self, x: int) -> int: 3 | n = sqrt(x) 4 | if n != int(n): 5 | return floor(n) #제곱근이 정수가 아닐 경우는 내림 6 | return int(n) 7 | -------------------------------------------------------------------------------- /LeetCode/Math/Unique Binary Search Trees/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def numTrees(self, n: int) -> int: 3 | memo = [0]*(n+1) 4 | memo[0] = memo[1] = 1 5 | for i in range(2, n+1): 6 | for j in range(i): 7 | memo[i] += memo[j]*memo[i-j-1] 8 | return memo[n] -------------------------------------------------------------------------------- /LeetCode/Math/Valid_Perfect_Square/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def isPerfectSquare(self, num: int) -> bool: 3 | root = 1 4 | while root**2 < num: 5 | root += 1 6 | return root**2 == num -------------------------------------------------------------------------------- /LeetCode/Math/Water_Bottles/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def numWaterBottles(self, numBottles: int, numExchange: int) -> int: 3 | res = numBottles 4 | while numBottles // numExchange > 0: 5 | res += numBottles // numExchange 6 | numBottles = numBottles // numExchange + numBottles % numExchange 7 | return res -------------------------------------------------------------------------------- /LeetCode/String/Defanging_an_IP_Address/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def defangIPaddr(self, address: str) -> str: 3 | return address.replace(".","[.]") -------------------------------------------------------------------------------- /LeetCode/String/Implement_strStr()/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def strStr(self, haystack: str, needle: str) -> int: 3 | return haystack.find(needle) 4 | -------------------------------------------------------------------------------- /LeetCode/String/Implement_strStr()/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def strStr(self, haystack: str, needle: str) -> int: 3 | if needle == '': 4 | return 0 5 | elif needle in haystack: 6 | return haystack.index(needle) 7 | else: 8 | return -1 9 | -------------------------------------------------------------------------------- /LeetCode/String/Length_of_Last_Word/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def lengthOfLastWord(self, s: str) -> int: 3 | return len(s.split(' ')[-1]) -------------------------------------------------------------------------------- /LeetCode/String/Maximum_69_Number/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def maximum69Number (self, num: int) -> int: 3 | s = str(num) 4 | for i, n in enumerate(str(num)): 5 | if n == '6': 6 | return s[:i] + '9' + s[i+1:] 7 | return s 8 | -------------------------------------------------------------------------------- /LeetCode/String/Number of Strings That Appear as Substrings in Word/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def numOfStrings(self, patterns: List[str], word: str) -> int: 3 | res = 0 4 | for pattern in patterns: 5 | res += int(word.count(pattern) > 0) 6 | return res -------------------------------------------------------------------------------- /LeetCode/String/Rotate String/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def rotateString(self, s: str, goal: str) -> bool: 3 | s = deque(s) 4 | for _ in range(len(s)-1): 5 | tmp = ''.join(s) 6 | if tmp == goal: 7 | return True 8 | s.rotate(1) 9 | return False -------------------------------------------------------------------------------- /LeetCode/Tree/Find_Bottom_Left_Tree_Value/val: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/LeetCode/Tree/Find_Bottom_Left_Tree_Value/val -------------------------------------------------------------------------------- /LeetCode/Trie/Top_K_Frequent_Words/JeongShin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/LeetCode/Trie/Top_K_Frequent_Words/JeongShin.js -------------------------------------------------------------------------------- /LeetCode/Two_Pointers/Reverse_String/6047198844.py: -------------------------------------------------------------------------------- 1 | class Solution: 2 | def reverseString(self, s: List[str]) -> None: 3 | """ 4 | Do not return anything, modify s in-place instead. 5 | """ 6 | s[:] = s[::-1] -------------------------------------------------------------------------------- /LeetCode/Two_Pointers/Valid Palindrome/6047198844.py: -------------------------------------------------------------------------------- 1 | import re 2 | class Solution: 3 | def isPalindrome(self, s: str) -> bool: 4 | s = re.sub('[^a-z0-9A-Z]','',s).lower() 5 | return s == s[::-1] -------------------------------------------------------------------------------- /LeetCode/Union_Find/Redundant_Connection_II/JeongShin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/LeetCode/Union_Find/Redundant_Connection_II/JeongShin.js -------------------------------------------------------------------------------- /Tips/Pull-Request.md: -------------------------------------------------------------------------------- 1 | # Pull Request 2 | 3 | [![Pull Request](https://img.youtube.com/vi/pR5SNFyzdg8/0.jpg)](https://www.youtube.com/watch?v=pR5SNFyzdg8) 4 | 5 | 6 | pull request에 대한 설명입니다. 7 | -------------------------------------------------------------------------------- /Tips/images/uploadSolution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/Tips/images/uploadSolution.png -------------------------------------------------------------------------------- /codility_training/11st/2020/3/junilhwang.js: -------------------------------------------------------------------------------- 1 | function solution (A) { 2 | return A.sort().reduce((sum, v, k) => sum + Math.abs(v - (k + 1)), 0); 3 | } 4 | 5 | console.log(solution([1, 2, 1]), 2); 6 | console.log(solution([2, 1, 4, 4]), 1); 7 | console.log(solution([6, 2, 3, 5, 6, 3]), 4); -------------------------------------------------------------------------------- /codility_training/Est2020.Exam01/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | 코딩 테스트라서 출처 없음 -------------------------------------------------------------------------------- /codility_training/Est2020.Exam02/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | 코딩 테스트라서 출처 없음 -------------------------------------------------------------------------------- /codility_training/Est2020.Exam03/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | 코딩 테스트라서 출처 없음 -------------------------------------------------------------------------------- /codility_training/Est2020.Exam04/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | 코딩 테스트라서 출처 없음 -------------------------------------------------------------------------------- /codility_training/lessons.lesson02.Arrays.CyclicRotation/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(A) { 2 | A.sort(); 3 | const len = A.length; 4 | for (let i = 0; i < len; i += 2) { 5 | if (A[i] != A[i + 1]) return A[i]; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson02.Arrays.CyclicRotation/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://app.codility.com/programmers/lessons/2-arrays/cyclic_rotation/ -------------------------------------------------------------------------------- /codility_training/lessons.lesson02.Arrays.CyclicRotation/junilhwang.js: -------------------------------------------------------------------------------- 1 | function solution (A, K) { 2 | if (!A || A.length === 0) return [] 3 | const len = A.length, arr = A.splice(len - K % len) 4 | return [ ...arr, ...A ] 5 | } 6 | 7 | console.log(solution([3, 8, 9, 7, 6], 3).toString() === [9, 7, 6, 3, 8].toString()) 8 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson02.Arrays.CyclicRotation/sangmandu.py: -------------------------------------------------------------------------------- 1 | # you can write to stdout for debugging purposes, e.g. 2 | # print("this is a debug message") 3 | 4 | def solution(A, K): 5 | # write your code in Python 3.6 6 | if(len(A) != 0): 7 | for i in range(K): 8 | A.insert(0,A.pop()) 9 | return A 10 | pass 11 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson02.Arrays.OddOccurrencesInArray/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://app.codility.com/programmers/lessons/2-arrays/odd_occurrences_in_array/ 4 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson02.Arrays.OddOccurrencesInArray/junilhwang.js: -------------------------------------------------------------------------------- 1 | function solution (A) { 2 | return [ ...A.reduce((set, v) => ( 3 | set[set.has(v) ? 'delete' : 'add'](v), set 4 | ), new Set) ][0] 5 | } 6 | 7 | console.log( 8 | solution([9, 3, 9, 3, 9, 7, 9]) === 7 9 | ) -------------------------------------------------------------------------------- /codility_training/lessons.lesson02.Arrays.OddOccurrencesInArray/sangmandu.py: -------------------------------------------------------------------------------- 1 | 2 | def solution(A): 3 | sA = sorted(A) 4 | size = len(sA) 5 | if size == 0: 6 | return sA[2*i] 7 | for i in range(size // 2): 8 | if sA[2 * i] != sA[2 * i + 1]: 9 | return sA[2 * i] 10 | 11 | 12 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson03.TimeComplexity.FrogJmp/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(X, Y, D) { 2 | const goal = Y - X; 3 | if (goal <= 0) return 0; 4 | else { 5 | return Math.floor(goal / D) + (goal % D ? 1 : 0); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson03.TimeComplexity.FrogJmp/eyabc.js: -------------------------------------------------------------------------------- 1 | function solution(X, Y, D) { 2 | return Math.ceil((Y - X) / D); 3 | } 4 | 5 | console.log(solution(10, 85, 30)); 6 | 7 | function solution2(X, Y, D) { 8 | let count = 0; 9 | while(X < Y) { 10 | X += D; 11 | count++; 12 | } 13 | return count; 14 | } 15 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson03.TimeComplexity.FrogJmp/junilhwang.js: -------------------------------------------------------------------------------- 1 | function solution(X, Y, D) { 2 | return Math.ceil((Y - X)/D) 3 | } 4 | 5 | console.log( 6 | solution(10, 85, 30) === 3 7 | ) 8 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson03.TimeComplexity.FrogJmp/khw970421.js: -------------------------------------------------------------------------------- 1 | 2 | function solution(X, Y, D) { 3 | return Math.ceil((Y - X) / D); // 가려는 위치에 딱맞으면 올림없이 출력, 가려는 위치보가 더 필요하면 ceil로 인해 소수값 존재 올림 4 | } 5 | console.log(solution(10,85,30)===3); 6 | console.log(solution(10,85,15)===5); 7 | 8 | 9 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson03.TimeComplexity.PermMissingElem/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(A) { 2 | if (!A) return; 3 | const len = A.length + 1; 4 | //원래 예상 합 5 | const x = (1 + len) / 2 * len; 6 | //missing num = 예상 합 - 현재 합 7 | return x - A.reduce((a, b) => a + b); 8 | } 9 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson04.CountingElements.FrogRiverOne/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://app.codility.com/programmers/lessons/4-counting_elements/frog_river_one/ -------------------------------------------------------------------------------- /codility_training/lessons.lesson04.CountingElements.MaxCounters/README.md: -------------------------------------------------------------------------------- 1 | https://app.codility.com/programmers/lessons/4-counting_elements/max_counters/ -------------------------------------------------------------------------------- /codility_training/lessons.lesson04.CountingElements.MissingInteger/README.md: -------------------------------------------------------------------------------- 1 | https://app.codility.com/programmers/lessons/4-counting_elements/missing_integer/ -------------------------------------------------------------------------------- /codility_training/lessons.lesson04.CountingElements.PermCheck/eyabc.js: -------------------------------------------------------------------------------- 1 | function solution(A) { 2 | const aLen = A.length; 3 | A.sort((a,b) => a-b); 4 | for(let i = 0; i < aLen ;) { 5 | if (A[i] !== ++i) return 0; 6 | } 7 | return 1; 8 | } 9 | console.log( 10 | solution( [4, 1, 3, 2]) === 1, 11 | solution([4, 1, 3]) === 0 12 | ); -------------------------------------------------------------------------------- /codility_training/lessons.lesson05.PrefixSum.GenomicRangeQuery/test.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "input": ["TC", [0, 0, 1], [0, 1, 1]], 4 | "output": [4, 2, 2] 5 | }, 6 | { 7 | "input": ["CAGCCTA", [2, 5, 0], [4, 5, 6]], 8 | "output": [2, 4, 1] 9 | }, 10 | { 11 | "input": ["AC", [0, 0, 1], [0, 1, 1]], 12 | "output": [1, 1, 2] 13 | } 14 | ] -------------------------------------------------------------------------------- /codility_training/lessons.lesson05.PrefixSums.GenomicRangeQuery/README.md: -------------------------------------------------------------------------------- 1 | https://app.codility.com/programmers/lessons/5-prefix_sums/genomic_range_query/ -------------------------------------------------------------------------------- /codility_training/lessons.lesson05.PrefixSums.MinAvgTwoSlice/test.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "input": [[4,2,2,5,1,5,8]], 4 | "output": 1 5 | }, 6 | { 7 | "input": [[-10000, -10000]], 8 | "output": 0 9 | }, 10 | { 11 | "input": [[-3, -5, -8, -4, -10]], 12 | "output": 2 13 | } 14 | ] -------------------------------------------------------------------------------- /codility_training/lessons.lesson05.PrefixSums.PassingCars/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(A) { 2 | let othercar = A.reduce((acc, curr) => acc + (curr !== A[0])); 3 | let cars = 0; 4 | A.forEach(el => !el ? othercar-- : cars += othercar); 5 | return cars < 1000000001 ? cars : -1; 6 | } 7 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson05.PrefixSums.PassingCars/test.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ [[0, 1, 0, 1, 1]], 5 ] 3 | ] -------------------------------------------------------------------------------- /codility_training/lessons.lesson06.Sorting.Distinct/JeongShin.js: -------------------------------------------------------------------------------- 1 | 2 | function solution(A) { 3 | return new Set(A).size 4 | } 5 | solution([2,1,1,2,3,1]); 6 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson06.Sorting.Distinct/eyabc.js: -------------------------------------------------------------------------------- 1 | function solution(A) { 2 | return new Set(A).size; 3 | } 4 | console.log(solution([2, 1, 1, 2, 3, 1]) === 3); -------------------------------------------------------------------------------- /codility_training/lessons.lesson06.Sorting.Distinct/khw970421.js: -------------------------------------------------------------------------------- 1 | //정확성은 되나 효율성이 안좋다 2 | function solution(A) { 3 | let p =A.reduce(function(a,b){if(a.indexOf(b)<0)a.push(b);return a;},[]); 4 | return p.length; 5 | } 6 | 7 | //set을 쓰면 strong set에의해 쉽게 distinct 가능 8 | //정확성,효율성 문제x 9 | function solution2 (A) { 10 | return new Set(A).size 11 | } -------------------------------------------------------------------------------- /codility_training/lessons.lesson06.Sorting.Distinct/sangmandu.py: -------------------------------------------------------------------------------- 1 | # you can write to stdout for debugging purposes, e.g. 2 | # print("this is a debug message") 3 | 4 | def solution(A): 5 | # write your code in Python 3.6 6 | pass 7 | return len(list(set(A))) 8 | 9 | print( 10 | solution([1,2,3,4,1,2,3,4,5,6]) == 6 11 | ) -------------------------------------------------------------------------------- /codility_training/lessons.lesson06.Sorting.Distinct/test.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ [ [2, 1, 1, 2, 3, 1] ], 3 ] 3 | ] -------------------------------------------------------------------------------- /codility_training/lessons.lesson06.Sorting.MaxProductOfThree/test.json: -------------------------------------------------------------------------------- 1 | [ 2 | [ [ [-3, 2, 2, -2, 5, 6] ], 60], 3 | [ [ [-5, 5, -5, 4] ], 125], 4 | [ [ [-4, -6, -3, 4, 5] ], 120], 5 | [ [ [4, 6, 3, 4, 5] ], 12] 6 | ] -------------------------------------------------------------------------------- /codility_training/lessons.lesson06.Sorting.NumberOfDiscIntersections/test.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "input": [ [1, 5, 2, 1, 4, 0] ], 4 | "output": 11 5 | } 6 | ] -------------------------------------------------------------------------------- /codility_training/lessons.lesson06.Sorting.Triangle/test.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "input": [ [10, 2, 5, 1, 8, 20] ], 4 | "output": 1 5 | }, 6 | { 7 | "input": [ [10, 50, 5, 1] ], 8 | "output": 0 9 | } 10 | ] -------------------------------------------------------------------------------- /codility_training/lessons.lesson07.StacksandQueues.Brackets/test.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "input": [ "{[()()]}" ], 4 | "output": 1 5 | }, 6 | { 7 | "input": [ "([)()]" ], 8 | "output": 0 9 | }, 10 | { 11 | "input": [ "(((" ], 12 | "output": 0 13 | } 14 | ] -------------------------------------------------------------------------------- /codility_training/lessons.lesson08.Leader.Dominator/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(A) { 2 | const d = {}; 3 | const goal = A.length / 2; 4 | for (const [idx, el] of A.entries()){ 5 | d[el] = (d[el] || 0) + 1 6 | if (d[el]>goal) 7 | return idx; 8 | } 9 | return -1; 10 | } 11 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson08.Leader.Dominator/test.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "input": [ [3, 4, 3, 2, 3, -1, 3, 3] ], 4 | "output": [0, 2, 4, 6, 7] 5 | } 6 | ] -------------------------------------------------------------------------------- /codility_training/lessons.lesson08.Leader.EquiLeader/test.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "input": [ [4,3,4,4,4,2] ], 4 | "output": 2 5 | }, 6 | { 7 | "input": [ [4, 4, 2, 5, 3, 4, 4, 4] ], 8 | "output": 3 9 | }, 10 | { 11 | "input": [ [0,0] ], 12 | "output": 1 13 | }, 14 | { 15 | "input": [ [0] ], 16 | "output": 0 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson09.MaximumSliceProblem.MaxSliceSum/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(A) { 2 | return A.reduce(([max, acc], curr) => { 3 | max = Math.max(acc + curr, max, curr); 4 | return [max, curr + !(acc < 0) * acc] 5 | }, [-Infinity, 0])[0]; 6 | } 7 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson10.PrimeAndCompositeNumbers.CountFactors/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(N) { 2 | if (N === 1) 3 | return 1 4 | const n = ~~Math.sqrt(N) 5 | let count = 0 6 | for (let i = 1; i <= n; i++) 7 | count += (N % i === 0) * 1 8 | return count * 2 - (N / n === n) * 1 9 | } 10 | 11 | console.log(solution(4)) -------------------------------------------------------------------------------- /codility_training/lessons.lesson10.PrimeAndCompositeNumbers.CountFactors/eyabc.js: -------------------------------------------------------------------------------- 1 | function solution(N) { 2 | let i = 1, result = 0; 3 | while (i * i < N) { 4 | if (N % i === 0) result += 2; 5 | i++; 6 | } 7 | return result + (i*i === N); 8 | } 9 | 10 | console.log(solution(24) === 8); 11 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson12.EuclideanAlgorithm.ChocolatesByNumbers/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(N, M) { 2 | const gcd = (a, b) => { 3 | if (a % b === 0) 4 | return b; 5 | else 6 | return gcd(b, a % b) 7 | } 8 | return ((N * M / gcd(N, M)) / M) 9 | } 10 | 11 | solution(10, 4) -------------------------------------------------------------------------------- /codility_training/lessons.lesson12.EuclideanAlgorithm.ChocolatesByNumbers/eyabc.js: -------------------------------------------------------------------------------- 1 | // 초콜릿을 먹는 index만 보면 0부터 시작해서 N과 M의 최대 공약수의 배수(< N) 라고 합니다. 2 | function solution (N, M) { 3 | const gcd = (a, b) => a % b === 0 ? b : gcd(b, a % b); 4 | return ~~(N / gcd(N, M)); 5 | } 6 | console.log( 7 | solution(10, 4), 8 | solution(30, 120) 9 | ); 10 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson12.EuclideanAlgorithm.ChocolatesByNumbers/sAp00n.py: -------------------------------------------------------------------------------- 1 | def solution(N, M): 2 | def gcd(N, M): 3 | if N % M == 0: 4 | return M 5 | else: 6 | 7 | return gcd(M, N % M) 8 | 9 | return N // gcd(N, M) 10 | 11 | 12 | print(solution(10, 4)) 13 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson14.BinarySearchAlgorithm.NailingPlanks/JeongShin.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 방법이 도무지 떠오르지 않아 나중에 다시 시도 해보겠습니다. 3 | * */ 4 | 5 | function solution(A, B, C) { 6 | } 7 | 8 | solution([1, 4, 5, 8], [5, 6, 9, 10], [4, 6, 7, 10, 2]); -------------------------------------------------------------------------------- /codility_training/lessons.lesson15.CaterpillarMethod.AbsDistinct/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(A) { 2 | return new Set(A.map(v => Math.abs(v))).size; 3 | } 4 | 5 | solution([-5, -3, -1, 0, 3, 6]); 6 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson15.CaterpillarMethod.AbsDistinct/sAp00n.py: -------------------------------------------------------------------------------- 1 | def solution(A): 2 | distnct_num = 0 3 | ele_dict = {} 4 | for ele in A: 5 | abs_ele = abs(ele) 6 | ele_dict[abs_ele] = ele_dict.get(abs_ele,True) 7 | return len(ele_dict) 8 | 9 | 10 | A = [-5, -3, -1, 0, 3, 6] 11 | print(solution(A)) 12 | -------------------------------------------------------------------------------- /codility_training/lessons.lesson16.GreedyAlgorithms.TieRopes/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(K, A) { 2 | return A.reduce(([count, acc], curr) => acc + curr >= K ? [count + 1, 0] : [count, acc + curr], [0, 0])[0] 3 | } 4 | 5 | solution(4, [1, 2, 3, 4, 1, 1, 3]) -------------------------------------------------------------------------------- /codility_training/lessons.lesson99.FutureTraining.TreeHeight/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(T) { 2 | const depth = tree => { 3 | if (!tree) 4 | return 0; 5 | return Math.max(depth(tree.l), depth(tree.r)) + 1; 6 | }; 7 | return Math.max(depth(T.l), depth(T.r)) 8 | } -------------------------------------------------------------------------------- /programmers/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/programmers/.DS_Store -------------------------------------------------------------------------------- /programmers/난이도별/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/challenges?tab=all_challenges 4 | 5 | **모든 문제에서 난이도별로 정리** -------------------------------------------------------------------------------- /programmers/난이도별/level.01.두개_뽑아서_더하기/temp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/programmers/난이도별/level.01.두개_뽑아서_더하기/temp.py -------------------------------------------------------------------------------- /programmers/난이도별/level01.2016년/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | from datetime import * 2 | 3 | 4 | def solution(a, b): 5 | weeks = ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"] 6 | return weeks[datetime(2016, a, b).weekday()] 7 | 8 | 9 | # 100점 10 | 11 | 12 | print(solution(5, 24) == "TUE") 13 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.2016년/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12901 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.2016년/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | import datetime 2 | 3 | def solution(a, b): 4 | time_1 = datetime.datetime(2016,1,1) 5 | time_2 = datetime.datetime(2016,a,b) 6 | week = ['FRI','SAT','SUN','MON','TUE','WED','THU'] 7 | return week[(((time_2 - time_1).days))%7] 8 | 9 | print(solution(5,24) == 'TUE') 10 | print(solution(7,30) == 'SAT') 11 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.3진법_뒤집기/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = 0 3 | 4 | three_digit = "" 5 | 6 | while n > 0: 7 | # n은 10개씩 묶인 상태이다. 8 | three_digit = str(n % 3) + three_digit 9 | n //= 3 10 | 11 | for idx, i in enumerate(three_digit): 12 | answer += int(i) * pow(3, idx) 13 | 14 | return answer -------------------------------------------------------------------------------- /programmers/난이도별/level01.3진법_뒤집기/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/68935 3 | 3진법 뒤집기 4 | [풀이] 5 | 1. 10 -> 3 -> reverse -> 10 6 | 2. 진법 원리를 이용해 앞뒤반전으로 바로 리스트 생성 7 | ''' 8 | def solution(n): 9 | answer = '' 10 | while n != 0: 11 | answer += str(divmod(n, 3)[1]) 12 | n //= 3 13 | return int(answer, 3) -------------------------------------------------------------------------------- /programmers/난이도별/level01.K번째수/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(array, commands): 2 | answer = [] 3 | for command in commands: 4 | i, j, k = command 5 | answer.append(sorted(array[i-1:j])[k-1]) 6 | 7 | return answer -------------------------------------------------------------------------------- /programmers/난이도별/level01.K번째수/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(array, commands) 2 | return [ sorted(array[v[0]-1 : v[1]])[v[2] - 1] for v in commands ] 3 | #return [ sorted(array[x-1 : y])[z - 1] for x, y, z in commands 4 | 5 | 6 | #점수 : 100점 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.K번째수/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | *** 4 | 5 | https://programmers.co.kr/learn/courses/30/lessons/42748 6 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.K번째수/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/42748 3 | K번째수 4 | 1. 주어진 배열의 i~j 인덱스의 부분 배열을 정렬 후 k번째 값 찾기 5 | 2. 문제 그대로 풀이 6 | ''' 7 | def solution(array, commands): 8 | return [ sorted(array[ a - 1 : b ])[ c - 1 ] for (a, b, c) in commands ] 9 | ''' 10 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.x만큼_간격이_있는_n개의_숫자/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(x, n): 2 | return list(range(x,x*n+x,x)) if x != 0 else [0 for _ in range(n)] -------------------------------------------------------------------------------- /programmers/난이도별/level01.x만큼_간격이_있는_n개의_숫자/Go-yj.py: -------------------------------------------------------------------------------- 1 | ''' 2 | 링크 : https://programmers.co.kr/learn/courses/30/lessons/12954 3 | 문제 : x만큼 간격이 있는 n개의 숫자 4 | x를 리스트에 넣고 x만큼 더하는 과정을 n번 반복하였습니다. 5 | ''' 6 | 7 | def solution(x, n): 8 | answer = [] 9 | num = x 10 | for i in range(0,n) : 11 | answer.append(num) 12 | num += x 13 | return answer 14 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.x만큼_간격이_있는_n개의_숫자/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12954 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.x만큼_간격이_있는_n개의_숫자/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(x, n): 2 | return [i*x for i in range(1, n+1)] 3 | 4 | print(solution(2,5) == [2, 4, 6, 8, 10]) 5 | print(solution(4,3) == [4, 8, 12]) 6 | print(solution(-4,2) == [-4, -8]) 7 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.x만큼_간격이_있는_n개의_숫자/khw970421.js: -------------------------------------------------------------------------------- 1 | function solution(x, n) { 2 | const answer = []; 3 | for(let i=1;i<=n;i++) 4 | answer.push(x*i) 5 | return answer; 6 | } 7 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.x만큼_간격이_있는_n개의_숫자/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12954 3 | x만큼 간격이 있는 n개의 숫자 4 | 0. x의 배수를 n개만큼 출력 5 | ''' 6 | def solution(x, n): 7 | return [i*x for i in range(1, n+1)] 8 | ''' 9 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.x만큼_간격이_있는_n개의_숫자/x만큼_간격_있는_n개의_숫자.py: -------------------------------------------------------------------------------- 1 | def solution(x, n): 2 | return [v * x for v in range(1, n + 1)] 3 | 4 | 5 | print(solution(2, 5) == [2, 4, 6, 8, 10]) 6 | print(solution(-4, 2) == [-4, -8]) 7 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.가운데_글자_가져오기/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | N = len(s) 3 | return s[N//2-1:(N+2)//2] if N % 2 == 0 else s[N//2] -------------------------------------------------------------------------------- /programmers/난이도별/level01.가운데_글자_가져오기/Go-yj.py: -------------------------------------------------------------------------------- 1 | ''' 2 | 링크 : https://programmers.co.kr/learn/courses/30/lessons/12903 3 | 문제 : 가운데 글자 가져오기 4 | ''' 5 | 6 | def solution(s): 7 | n = len(s)//2 8 | return s[n-1:n+1] if len(s)%2==0 else s[n] 9 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.가운데_글자_가져오기/Jaewon0702.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) - 1) / 2)] 6 | 7 | 8 | # 100점 9 | 10 | 11 | print(solution("abcde") == "c") 12 | print(solution("qwer") == "we") 13 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.가운데_글자_가져오기/README.md: -------------------------------------------------------------------------------- 1 |

#출처

2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12903 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.가운데_글자_가져오기/rockmiin.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | if(len(s)%2==0): 3 | return s[len(s)//2-1:len(s)//2+1] 4 | else: 5 | return s[len(s)//2] -------------------------------------------------------------------------------- /programmers/난이도별/level01.가운데_글자_가져오기/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12903 3 | 가운데 글자 출력 4 | 0. 길이가 짝수면 2개의 char 출력 5 | ''' 6 | def solution(s): 7 | size = len(s) 8 | return (s[size//2-1] if size % 2 == 0 else "") + s[size//2] 9 | ''' 10 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.같은_숫자는_싫어/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(arr): 2 | answer = [arr[0]] 3 | 4 | for i in arr: 5 | if answer[-1] != i: 6 | answer.append(i) 7 | return answer -------------------------------------------------------------------------------- /programmers/난이도별/level01.같은_숫자는_싫어/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | def solution(arr): 2 | answer = [arr[0]] 3 | for i in arr: 4 | if i != answer[-1]: 5 | answer.append(i) 6 | return answer 7 | 8 | print( 9 | solution([1,1,3,3,0,1,1]) == [1,3,0,1], 10 | solution([4,4,4,3,3]) == [4,3] 11 | ) -------------------------------------------------------------------------------- /programmers/난이도별/level01.같은_숫자는_싫어/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(arr): 2 | removed = [arr[0]] 3 | for i in range(1, len(arr)): 4 | if arr[i] != arr[i - 1]: 5 | removed.append(arr[i]) 6 | return removed 7 | 8 | 9 | # 100점 10 | 11 | 12 | print(solution([1, 1, 3, 3, 0, 1, 1])==[1,3,0,1]) 13 | print(solution([4, 4, 4, 3, 3])==[4,3]) 14 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.같은_숫자는_싫어/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | *** 4 | 5 | https://programmers.co.kr/learn/courses/30/lessons/12906 6 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.나누어_떨어지는_숫자_배열/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(arr, divisor): 2 | answer = sorted([number for number in arr if number % divisor == 0]) 3 | return answer if answer else [-1] -------------------------------------------------------------------------------- /programmers/난이도별/level01.나누어_떨어지는_숫자_배열/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(arr, divisor): 2 | return sorted([v for v in arr if v % divisor == 0]) or [-1] 3 | 4 | 5 | # 100점 6 | 7 | 8 | print(solution([5, 9, 7, 10], 5) == [5, 10]) 9 | print(solution([2, 36, 1, 3], 1) == [1, 2, 3, 36]) 10 | print(solution([3, 2, 6], 10) == [-1]) 11 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.나누어_떨어지는_숫자_배열/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12910 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.나누어_떨어지는_숫자_배열/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(arr, divisor): 2 | answer = [] 3 | for i in arr: 4 | if i % divisor == 0: 5 | answer.append(i) 6 | answer.sort() 7 | if answer == []: 8 | return [-1] 9 | return answer 10 | 11 | 12 | print(solution([5,9,7,10],5) == [5,10] ) 13 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.나누어_떨어지는_숫자_배열/khw970421.js: -------------------------------------------------------------------------------- 1 | function solution(arr, divisor) { 2 | let answer=[]; 3 | arr.forEach(function(e){ 4 | if(e%divisor==0) //나누어 떨어지면 추가 5 | answer.push(e); 6 | }) 7 | answer.sort((a,b)=>a-b); //정렬 8 | return (answer.length>0)?answer:[-1]; //값이 존재하면 answer 아니면 [-1]리턴 9 | } 10 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.나누어_떨어지는_숫자_배열/rockmiin.py: -------------------------------------------------------------------------------- 1 | def solution(arr, divisor): 2 | answer=[] 3 | for i in arr: 4 | if i % divisor ==0: 5 | answer.append(i) 6 | if(answer==[]): answer.append(-1) 7 | return sorted(answer) 8 | 9 | print( 10 | solution([5, 9, 7, 10], 5), 11 | solution([5, 9, 7, 10], 5)==[5, 10] 12 | ) 13 | 14 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.내적/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(a, b): 2 | return sum([i*j for i,j in zip(a,b)]) -------------------------------------------------------------------------------- /programmers/난이도별/level01.내적/Go-yj.py: -------------------------------------------------------------------------------- 1 | ''' 2 | 링크 : https://programmers.co.kr/learn/courses/30/lessons/70128 3 | 문제 : 내적 4 | ''' 5 | 6 | def solution(a, b): 7 | return sum([x*y for x,y in zip(a,b)]) 8 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.내적/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/70128 3 | 내적 4 | [풀이] 5 | 1. zip 사용 6 | ''' 7 | def solution(a, b): 8 | return sum([i*j for i, j in zip(a, b)]) 9 | ''' 10 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.다트_게임/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/17682 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.동물의_아이디와_이름/6047198844.sql: -------------------------------------------------------------------------------- 1 | -- 코드를 입력하세요 2 | SELECT ANIMAL_ID, NAME 3 | FROM ANIMAL_INS 4 | ORDER BY ANIMAL_ID -------------------------------------------------------------------------------- /programmers/난이도별/level01.두 정수 사이의 합/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(a, b): 2 | if a > b: 3 | return solution(b, a) 4 | return sum(range(a,b+1)) -------------------------------------------------------------------------------- /programmers/난이도별/level01.두_정수_사이의_합/Jaewon0702 .py: -------------------------------------------------------------------------------- 1 | def solution(a, b): 2 | return sum(range(min(a, b), max(a, b) + 1)) 3 | 4 | 5 | print(solution(3, 5) == 12) 6 | print(solution(3, 3) == 3) 7 | print(solution(5, 3) == 12) 8 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.두_정수_사이의_합/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | *** 4 | 5 | https://programmers.co.kr/learn/courses/30/lessons/12912 6 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.두_정수_사이의_합/rockmiin.py: -------------------------------------------------------------------------------- 1 | def solution(a, b): 2 | sum=0 3 | for i in range(a if ab else b+1): 4 | sum+=i 5 | return sum 6 | 7 | print(solution(3, 5), 8 | solution(3, 5)==12, 9 | solution(5, 3), 10 | solution(5, 3)==12 11 | ) -------------------------------------------------------------------------------- /programmers/난이도별/level01.두_정수_사이의_합/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12912 3 | 두 정수 사이의 합 4 | [풀이] 5 | 1. 간단한 수학적 공식 이용 : n(n+1)/2 6 | ''' 7 | def solution(a, b): 8 | return (a+b)*(abs(a-b)+1)//2 9 | ''' 10 | ''' 11 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.로또의_최고_순위와_최저_순위/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(lottos, win_nums): 2 | cnt = 0 3 | for l in lottos: 4 | cnt += l in win_nums 5 | 6 | high = min(6,7-cnt-lottos.count(0)) 7 | low = min(6,7-cnt) 8 | 9 | return [high,low] -------------------------------------------------------------------------------- /programmers/난이도별/level01.로또의_최고_순위와_최저_순위/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/77484 3 | 로또의 최고 순위와 최저 순위 4 | [풀이] 5 | ''' 6 | def solution(lottos, win_nums): 7 | rank = [6, 6, 5, 4, 3, 2, 1] 8 | unk = lottos.count(0) 9 | win = 6 - len(set(win_nums) - set(lottos)) 10 | return [rank[win + unk], rank[win]] 11 | ''' 12 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.모든_레코드_조회하기/6047198844.sql: -------------------------------------------------------------------------------- 1 | -- 코드를 입력하세요 2 | SELECT * 3 | FROM ANIMAL_INS 4 | ORDER BY ANIMAL_ID -------------------------------------------------------------------------------- /programmers/난이도별/level01.모의고사/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/42840 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내_p와_y의_개수/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | return s.count('p') + s.count('P') == s.count('y') + s.count('Y') -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내_p와_y의_개수/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | p_num = 0 3 | y_num = 0 4 | for c in s: 5 | if c in 'pP': 6 | p_num += 1 7 | elif c in 'yY': 8 | y_num += 1 9 | return p_num == y_num 10 | 11 | print( 12 | solution("pPoooyY") == True, 13 | solution("Pyy") == False 14 | ) -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내_p와_y의_개수/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | return s.lower().count("p") == s.lower().count("y") 3 | 4 | 5 | # 100점 6 | 7 | 8 | print(solution("pPoooyY") == True) 9 | print(solution("Pyy") == False) 10 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내_p와_y의_개수/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12916 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내_p와_y의_개수/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | s = s.lower() 3 | print(s) 4 | return s.count('p') == s.count('y') 5 | 6 | print(solution("oooo") == True) 7 | print(solution('pPooYy') == True) 8 | print(solution("pPPYy") == False) 9 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내_p와_y의_개수/junilhwang.js: -------------------------------------------------------------------------------- 1 | function solution(s){ 2 | const str = [ ...s ] 3 | return str.filter(v => ['p', 'P'].indexOf(v) !== -1).length === str.filter(v => ['y', 'Y'].indexOf(v) !== -1).length; 4 | } 5 | 6 | require('./test.json').forEach(({ input, output }) => console.log(solution(...input) === output)) -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내_p와_y의_개수/junilhwang.py: -------------------------------------------------------------------------------- 1 | import json 2 | 3 | def solution(s): 4 | s = s.lower() 5 | return s.count('p') == s.count('y') 6 | 7 | with open('./test.json') as testFile: 8 | for v in json.load(testFile): 9 | print(solution(*v['input']) == v['output']) -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내_p와_y의_개수/rockmiin.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | cnt_p=0; cnt_y=0 3 | for i in s: 4 | if i == 'P' or i=='p': 5 | cnt_p+=1 6 | if i == 'Y' or i == 'y': 7 | cnt_y+=1 8 | if cnt_p==cnt_y: return True 9 | return False 10 | 11 | solution('pPoooyY') -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내_p와_y의_개수/test.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "input": [ "oooo" ], 4 | "output": true 5 | }, 6 | { 7 | "input": [ "pPooYy" ], 8 | "output": true 9 | }, 10 | { 11 | "input": [ "pPPYy" ], 12 | "output": false 13 | } 14 | ] -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내_마음대로_정렬하기/6047198844.txt: -------------------------------------------------------------------------------- 1 | def solution(strings, n): 2 | return sorted(sorted(strings), key = lambda string:string[n]) -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내_마음대로_정렬하기/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | def solution(strings, n): 2 | return sorted(sorted(strings) , key=lambda s: s[n]) 3 | # 내부 sorted는 인덱스 n의 값이 같은 것은 사전 순 배열이 필요 4 | 5 | print( 6 | solution(["sun", "bed", "car"],1) == ['car', 'bed', 'sun'], 7 | solution(["abce", "abcd", "cdx"], 2) == ["abcd", "abce", "cdx"] 8 | ) 9 | 10 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내_마음대로_정렬하기/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12915 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내_마음대로_정렬하기/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(strings, n): 2 | return sorted(sorted(strings), key= lambda x : x[n]) 3 | 4 | print(solution( ["sun", "bed", "car"],1) == ['car', 'bed', 'sun']) 5 | print(solution( ["abce", "abcd", "cdx"], 2) == ["abcd", "abce", "cdx"]) 6 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내림차순으로_배치하기/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | return ''.join(sorted(s))[::-1] -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내림차순으로_배치하기/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | # 정렬이 소문자 -> 대문자 됨. 2 | def solution(s): 3 | return "".join(sorted(s, reverse = True)) 4 | 5 | print(solution("Zbcdefg") == "gfedcbZ") -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내림차순으로_배치하기/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | return "".join(sorted(list(s), reverse=True)) 3 | 4 | 5 | # 100점 6 | 7 | 8 | print(solution("Zbcdefg") == "gfedcbZ") 9 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내림차순으로_배치하기/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12917 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내림차순으로_배치하기/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | return ''.join(sorted(list(s), reverse=True)) 3 | 4 | print(solution("Zbcdefg") == "gfedcbZ") 5 | print(solution("bdcaET") == "dcbaTE") 6 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내림차순으로_배치하기/junilhwang.js: -------------------------------------------------------------------------------- 1 | function solution (s) { 2 | return [ ...s ].sort((a, b) => a < b ? 1 : -1).join('') 3 | } 4 | 5 | require('./test.json').forEach(({ input, output }) => console.log(solution(...input) === output)) -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내림차순으로_배치하기/junilhwang.py: -------------------------------------------------------------------------------- 1 | import json 2 | 3 | def solution(s) : 4 | return ''.join(sorted(list(s), reverse=True)) 5 | 6 | with open('./test.json') as testFile: 7 | for v in json.load(testFile): 8 | print(solution(*v['input']) == v['output']) -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내림차순으로_배치하기/rockmiin.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | return "".join(sorted(list(s), reverse=True)) 3 | 4 | print( 5 | solution("Zcbdefg")=="gfedcbZ" 6 | ) 7 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내림차순으로_배치하기/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12910 3 | 문자열 내림차순으로 배치하기 4 | join, sorted, reverse option 5 | ''' 6 | 7 | def solution(s): 8 | return ''.join(sorted(s, reverse=True)) 9 | 10 | ''' 11 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_내림차순으로_배치하기/test.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "input": [ "Zbcdefg" ], 4 | "output": "gfedcbZ" 5 | }, 6 | { 7 | "input": [ "bdcaET" ], 8 | "output": "dcbaTE" 9 | } 10 | ] -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_다루기_기본/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | # 조건에 안맞는 것들을 바로 return 시키면 더 효율적인 코드가 됨. 3 | if len(s) != 4 and 6 : 4 | return False 5 | 6 | for i in s : 7 | if i not in "0123456789": 8 | return False 9 | return True 10 | 11 | print(solution("a234")) 12 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_다루기_기본/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | return s.isdigit() and len(s) in [4, 6] 3 | 4 | 5 | # 100점 6 | 7 | 8 | print(solution("a234")) 9 | print(solution("1234")) 10 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_다루기_기본/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12918 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_다루기_기본/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | for i in s: 3 | try: 4 | if type(int(i)) != int: 5 | return False 6 | except: 7 | return False 8 | return len(s) == 4 or len(s) == 6 9 | 10 | print(solution('a12f') == False) 11 | print(solution('1234') == True) 12 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열_다루기_기본/rockmiin.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | if len(s)==4 or len(s)==6: 3 | for i in s: 4 | if ord(i)>=58: 5 | return False 6 | return True 7 | return False 8 | 9 | print(solution("a234")==False) -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열을_정수로_바꾸기/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | return int(s) -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열을_정수로_바꾸기/Go-yj.py: -------------------------------------------------------------------------------- 1 | ''' 2 | 링크 : https://programmers.co.kr/learn/courses/30/lessons/12925 3 | 문제 : 문자열을 정수로 바꾸기 4 | ''' 5 | 6 | def solution(s): 7 | return int(s) 8 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열을_정수로_바꾸기/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | #1 2 | '''def solution(s): 3 | if "+-" not in s: 4 | return int(s) 5 | return int(+s[1:]) if s[0] == "+" else int(-s[1:])''' 6 | 7 | #2 s가 정수일 때 가능함 8 | def solution(s): 9 | return int(s) 10 | 11 | print(solution("-1234") == -1234) -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열을_정수로_바꾸기/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | return int(s) 3 | 4 | 5 | print(solution("1234") == 1234) 6 | print(solution("-1234") == -1234) 7 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열을_정수로_바꾸기/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12925 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열을_정수로_바꾸기/develop-sell.js: -------------------------------------------------------------------------------- 1 | function solution(s) { 2 | return s * 1; 3 | } 4 | 5 | //가볍게 생각하면 되는 문자였다. 6 | //자바스크립트는 문자를 숫자로 형변환할 때 곱하기 1 해주는 것이 좋은 방법 같다. 7 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열을_정수로_바꾸기/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | if s.find('.') != -1: 3 | return int(s) 4 | else: 5 | return float(s) 6 | 7 | 8 | print(solution('12345') == 12345) 9 | print(solution('-321') == -321) 10 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.문자열을_정수로_바꾸기/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12925 3 | 문자열을 정수로 바꾸기 : 문제가 아무래도 캐스팅 없이 풀어야 되는 문제인가 싶다 4 | int 5 | ''' 6 | def solution(s): 7 | return int(s) 8 | ''' 9 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.비밀지도/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/17681 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.상위_n개_레코드/6047198844.sql: -------------------------------------------------------------------------------- 1 | -- 코드를 입력하세요 2 | SELECT NAME 3 | FROM ANIMAL_INS 4 | ORDER BY DATETIME 5 | LIMIT 1 -------------------------------------------------------------------------------- /programmers/난이도별/level01.서울에서_김서방_찾기/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(seoul): 2 | return "김서방은 " + str(seoul.index("Kim")) + "에 있다" -------------------------------------------------------------------------------- /programmers/난이도별/level01.서울에서_김서방_찾기/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(seoul): 2 | return "김서방은 %d에 있다" % seoul.index("Kim") 3 | 4 | 5 | # 100점 6 | 7 | 8 | print(solution(["Jane", "Kim"]) == "김서방은 1에 있다") 9 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.서울에서_김서방_찾기/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | *** 4 | 5 | https://programmers.co.kr/learn/courses/30/lessons/12919?language=python3 6 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.서울에서_김서방_찾기/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(seoul): 2 | index = seoul.index('Kim') 3 | answer = '김서방은 %d에 있다'%index 4 | return answer 5 | 6 | 7 | 8 | seoul = ['Jane', 'Kim'] 9 | 10 | print(solution(seoul)) 11 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.서울에서_김서방_찾기/rockmiin.py: -------------------------------------------------------------------------------- 1 | def solution(seoul): 2 | answer="" 3 | for i in range(len(seoul)): 4 | if seoul[i]=="Kim": 5 | answer="김서방은 "+str(i)+"에 있다" 6 | return answer 7 | 8 | print( 9 | solution(["Jane", "Kim"]), 10 | solution(["Jane", "Kim"])=="김서방은 1에 있다" 11 | ) 12 | 13 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.서울에서_김서방_찾기/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12919 3 | 서울에서 김서방 찾기 4 | 1. list.index 5 | ''' 6 | def solution(seoul): 7 | return "김서방은 "+str(seoul.index("Kim"))+"에 있다" 8 | ''' 9 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.소수찾기/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12921 -------------------------------------------------------------------------------- /programmers/난이도별/level01.소수찾기/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | num = {i for i in range(3, n+1, 2)} 3 | for i in range(3, n+1, 2): 4 | num -= set(i for i in range(i*2, n+1, i)) 5 | return len(num) + 1 6 | 7 | print(solution(5) == 3) 8 | print(solution(10) == 4) 9 | print(solution(20) == 8) 10 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.소수찾기/rockmiin.py: -------------------------------------------------------------------------------- 1 | # 에라토스테네스의 체 이용 2 | def solution(n): 3 | arr=[0,0]+[1]*(n-1) 4 | for i in range(2, n+1): 5 | if arr[i]==1: 6 | for j in range(2*i, n+1, i): 7 | arr[j]=0 8 | return sum(arr) 9 | 10 | print( 11 | solution(10)==4 12 | ) -------------------------------------------------------------------------------- /programmers/난이도별/level01.수박수박수박수/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return (10000*'수박')[:n] -------------------------------------------------------------------------------- /programmers/난이도별/level01.수박수박수박수/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return "수박" * int(n // 2) + "수" * int(n % 2) 3 | 4 | 5 | print(solution(3) == "수박수") 6 | print(solution(4) == "수박수박") 7 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.수박수박수박수/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12922 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.수박수박수박수/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | if n % 2 == 0: 3 | return "수박" * (n//2) 4 | elif n % 2 == 1: 5 | return "수" + "박수" * (n//2) 6 | 7 | print(solution(6) == '수박수박수박') 8 | print(solution(11) == '수박수박수박수박수박수') 9 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.수박수박수박수/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12922 3 | 수박수박수박수박수박수? 4 | [풀이] 5 | 1. n만큼 "수", "박" 출력 6 | 2. join, slice 7 | ''' 8 | def solution(n): 9 | answer = "수박" * (n // 2 + 1) 10 | return answer[:n] 11 | ''' 12 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.시저_암호/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12926 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.아픈_동물_찾기/6047198844.sql: -------------------------------------------------------------------------------- 1 | -- 코드를 입력하세요 2 | SELECT ANIMAL_ID, NAME 3 | FROM ANIMAL_INS 4 | WHERE INTAKE_CONDITION = 'Sick' 5 | ORDER BY ANIMAL_ID -------------------------------------------------------------------------------- /programmers/난이도별/level01.약수의_개수와_덧셈/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/77884 3 | 약수의 개수와 덧셈 4 | [풀이] 5 | ''' 6 | def solution(left, right): 7 | return sum([-num if num ** 0.5 == int(num ** 0.5) else num for num in range(left, right+1)]) 8 | ''' 9 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.약수의_합/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return sum([i for i in range(1,n+1) if n % i == 0]) -------------------------------------------------------------------------------- /programmers/난이도별/level01.약수의_합/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return sum([n] + [i for i in range(1, n // 2 + 1) if n % i == 0]) 3 | 4 | 5 | print(solution(12) == 28) 6 | print(solution(5) == 6) 7 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.약수의_합/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12928 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.약수의_합/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | d = [] 3 | answer = 0 4 | for i in range(1, n + 1): 5 | if n % i == 0: 6 | d.append(i) 7 | print(d) 8 | for i in d: 9 | answer += i 10 | return answer 11 | 12 | print(solution(12) == 28) 13 | print(solution(6) == 12) 14 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.약수의_합/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12928 3 | 약수의 합 4 | [풀이] 5 | 1. 제곱근 까지 약수를 구하기. 대칭값까지 더하기. 성능 중심 6 | ''' 7 | def solution(n): 8 | answer = [i for i in range(1, int(n**0.5)+1) if n % i == 0] 9 | return sum(set(answer + [n // i for i in answer])) 10 | ''' 11 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.어린_동물_찾기/6047198844.sql: -------------------------------------------------------------------------------- 1 | -- 코드를 입력하세요 2 | SELECT ANIMAL_ID, NAME 3 | FROM ANIMAL_INS 4 | WHERE INTAKE_CONDITION != 'Aged' 5 | ORDER BY 1 -------------------------------------------------------------------------------- /programmers/난이도별/level01.없는 숫자 더하기/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(numbers): 2 | return sum(set(range(0, 10)) - set(numbers)) -------------------------------------------------------------------------------- /programmers/난이도별/level01.여러_기준으로_정렬하기/6047198844.sql: -------------------------------------------------------------------------------- 1 | -- 코드를 입력하세요 2 | SELECT ANIMAL_ID, NAME, DATETIME 3 | FROM ANIMAL_INS 4 | ORDER BY 2 ASC, 3 DESC -------------------------------------------------------------------------------- /programmers/난이도별/level01.역순_정렬하기/6047198844.sql: -------------------------------------------------------------------------------- 1 | -- 코드를 입력하세요 2 | SELECT NAME, DATETIME 3 | FROM ANIMAL_INS 4 | ORDER BY ANIMAL_ID DESC -------------------------------------------------------------------------------- /programmers/난이도별/level01.예산/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(costs, budget): 2 | answer = 0 3 | costs.sort() 4 | for cost in costs: 5 | if cost <= budget: 6 | budget -= cost 7 | answer += 1 8 | return answer -------------------------------------------------------------------------------- /programmers/난이도별/level01.예산/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | def solution(d, budget): 2 | tries = 0 3 | for n in sorted(d): 4 | if budget < n: 5 | break #break는 for문에서 빠져나오게 함. 6 | budget -= n 7 | tries += 1 8 | return tries 9 | 10 | print( 11 | solution([1,3,2,5,4], 9) == 3, 12 | solution([2,2,3,3], 10) == 4 13 | ) 14 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.예산/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12982 4 | 5 | Summer/Winter Coding(~2018) 6 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.예산/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(d, budget): 2 | answer = 0 3 | d.sort() 4 | for i in d: 5 | budget -= i 6 | answer += 1 7 | if budget < 0: 8 | answer -= 1 9 | break 10 | return answer 11 | 12 | print(solution([2,3,1,5,4],9) == 3) 13 | print(solution([2,3,2,3],10) == 4) 14 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.예산/rockmiin_예산.py: -------------------------------------------------------------------------------- 1 | def solution(d, budget): 2 | d.sort() 3 | for i in range(len(d)): 4 | print(sum(d[:i+1])) 5 | if budget < sum(d[:i+1]): 6 | return i 7 | return len(d) 8 | 9 | 10 | print( 11 | solution([2, 2, 3, 3], 10), 12 | # solution([1, 3, 2, 5, 4], 9) 13 | ) 14 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.예산/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12982 3 | 예산 : 최적의 해 찾기 문제 4 | 부서를 정렬 후, 앞 부서가 할당받지 못하면 뒷 부서 역시 할당받지 못한다고 간주. 5 | ''' 6 | def solution(d, budget): 7 | for i, v in enumerate(sorted(d)): 8 | if budget < v: 9 | return i 10 | budget -= v 11 | return len(d) 12 | ''' 13 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.완주하지_못한_선수/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(participant, completion) { 2 | const obj = {} 3 | completion.forEach((el)=> { 4 | obj[el]=(obj[el]||0) + 1; 5 | }) 6 | for (const p of participant) { 7 | if ((obj[p]||0)< 1) 8 | return p 9 | obj[p]-- 10 | } 11 | } -------------------------------------------------------------------------------- /programmers/난이도별/level01.완주하지_못한_선수/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/42576 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.음양_더하기/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(absolutes, signs): 2 | return sum([absolute if sign else -absolute for absolute, sign in zip(absolutes, signs)]) -------------------------------------------------------------------------------- /programmers/난이도별/level01.음양_더하기/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/76501 3 | 음양 더하기 4 | [풀이] 5 | ''' 6 | def solution(absolutes, signs): 7 | return sum([num*(2*int(sign)-1) for num, sign in zip(absolutes, signs)]) 8 | ''' 9 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.이름이_있는_동물의_아이디/6047198844.sql: -------------------------------------------------------------------------------- 1 | -- 코드를 입력하세요 2 | SELECT ANIMAL_ID 3 | FROM ANIMAL_INS 4 | WHERE NAME IS NOT NULL 5 | ORDER BY ANIMAL_ID ASC -------------------------------------------------------------------------------- /programmers/난이도별/level01.이상한_문자_만들기/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | return " ".join([ "".join([ st.lower() if i % 2 else st.upper() for i, st in enumerate(n) ]) for n in s.split(" ")]) 3 | 4 | 5 | print(solution("try Hello world") == "TrY HeLlO WoRlD") 6 | print(solution("Hello eVeryone") == "HeLlO EvErYoNe") 7 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.자릿수_더하기/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return sum(map(int,str(n))) -------------------------------------------------------------------------------- /programmers/난이도별/level01.자릿수_더하기/Go-yj.py: -------------------------------------------------------------------------------- 1 | ''' 2 | 링크 : https://programmers.co.kr/learn/courses/30/lessons/12931 3 | 문제 : 자릿수 더하기 4 | 세 문제 연속으로 입력받은 자연수를 쪼개서 사용하는 문제가 나와서 5 | 절대 안 잊을 것 같아요 6 | ''' 7 | 8 | def solution(n): 9 | return sum(list(map(int, str(n)))) 10 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.자릿수_더하기/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return sum(map(int, str(n))) 3 | 4 | 5 | print(solution(123)) 6 | print(solution(987)) 7 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.자릿수_더하기/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12931 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.자릿수_더하기/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | n = str(n) 3 | s = 0 4 | for i in n: 5 | s += int(i) 6 | return s 7 | 8 | print(solution(21) == 3) 9 | print(solution(123) == 6) 10 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.자릿수_더하기/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12931 3 | 자릿수 더하기 4 | [풀이] 5 | 1. list(str) = str을 한글자씩 끊어서 리스트화 6 | ''' 7 | def solution(n): 8 | return sum(list(map(int, list(str(n))))) 9 | ''' 10 | string은 list로 간주되기 때문에 굳이 list화 할 필요 없음 11 | return sum(list(map(int, str(n)))) 12 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.자연수_뒤집어_배열로_만들기/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return list(map(int, str(n)))[::-1] -------------------------------------------------------------------------------- /programmers/난이도별/level01.자연수_뒤집어_배열로_만들기/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12932 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.자연수_뒤집어_배열로_만들기/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | s = str(n) 3 | answer = [int(i) for i in s] 4 | answer.reverse() 5 | return answer 6 | 7 | print(solution(19) == [9, 1]) 8 | print(solution(12345) == [5,4,3,2,1]) 9 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.자연수_뒤집어_배열로_만들기/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12932 3 | 자연수 뒤집어 배열로 만들기 4 | [풀이] 5 | 1. map 사용 6 | ''' 7 | def solution(n): 8 | return list(map(int, str(n)))[::-1] 9 | ''' 10 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.정수_내림차순으로_배치하기/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return int(''.join(sorted(str(n))[::-1])) -------------------------------------------------------------------------------- /programmers/난이도별/level01.정수_내림차순으로_배치하기/Go-yj.py: -------------------------------------------------------------------------------- 1 | ''' 2 | 링크 : https://programmers.co.kr/learn/courses/30/lessons/12933 3 | 문제 : 정수 내림차순으로 배치하기 4 | 입력받은 정수를 쪼갠 후 정렬하여 다시 합쳤습니다. 5 | ''' 6 | 7 | def solution(n): 8 | n_list = list(str(n)) 9 | n_list.sort() 10 | n_list.reverse() 11 | n_list = ''.join(n_list) 12 | return int(n_list) 13 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.정수_내림차순으로_배치하기/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | answer = list(str(n)) #answer = [c for c in str(n)] 3 | answer.sorted(reverse = True) 4 | return int("".join(answer)) 5 | 6 | #한줄로는 return int("".join(sorted(list(str(n)), reverse = True))) 7 | print(solution(118372) == 873211) -------------------------------------------------------------------------------- /programmers/난이도별/level01.정수_내림차순으로_배치하기/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12933 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.정수_내림차순으로_배치하기/develop-sell.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | return Number((n + "").split('').sort((a, b) => b-a).join('')); 3 | } 4 | 5 | // 문제풀이: 6 | // 스트링으로 변환 후 => (n + "") 7 | // 한 글자씩 배열로 변환 => split('') 8 | // 큰 숫자순으로 정렬 => sort((a,b) => b-a) 9 | // 배열을 스트링으로 변환 -> join('') 10 | // 스트링으로 숫자로 변환 -> Number(num) 11 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.정수_내림차순으로_배치하기/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return int(''.join(sorted(list(str(n)), reverse=True))) 3 | 4 | print(solution(118372) == 873211) 5 | print(solution(12421356) == 65432211) 6 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.정수_내림차순으로_배치하기/khw970421.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | return Number(n.toString().split('').sort((A,B)=>B-A).join('')); 3 | } 4 | //값을 문자로바꿔 분리시킨후 숫자로 변환후 정렬시키고 다시 합쳐서 Number 형태로 반환 5 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.정수_내림차순으로_배치하기/정수_내림순으로_배치하기.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | return int("".join(sorted(list(str(n)), reverse=True))) 3 | 4 | 5 | print(solution("118372") == 873211) 6 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.정수_제곱근_판별/6047198844.py: -------------------------------------------------------------------------------- 1 | import math 2 | 3 | def solution(n): 4 | root = n ** 0.5 5 | return math.pow(root+1,2) if root.is_integer() else -1 -------------------------------------------------------------------------------- /programmers/난이도별/level01.정수_제곱근_판별/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | for i in range(1, n + 1): 3 | if n ** 0.5 == i: # if i ** 2 == n도 가능 4 | return (i + 1) ** 2 5 | elif i == n: 6 | return -1 7 | 8 | print(solution(121) == 144) -------------------------------------------------------------------------------- /programmers/난이도별/level01.정수_제곱근_판별/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | from math import * 2 | 3 | 4 | def solution(n): 5 | return -1 if sqrt(n) % 1 else int(pow((sqrt(n) + 1), 2)) 6 | 7 | 8 | print(solution(121) == 144) 9 | print(solution(3) == -1) 10 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.정수_제곱근_판별/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12934 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.정수_제곱근_판별/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | for i in range(n+1): 3 | if i*i == n: 4 | return (i+1)**2 5 | return -1 6 | 7 | print(solution(121) == 144) 8 | print(solution(3) == -1) 9 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.정수_제곱근_판별/khw970421.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | return (Number.isInteger(n**0.5))? (n ** 0.5 + 1) ** 2 : -1; 3 | } 4 | //sqrt한 값이 Integer인지 판단하고 맞으면 +1하고 제곱하고 아니면 -1리턴 5 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.정수_제곱근_판별/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12934 3 | 정수 제곱근 판별 4 | [풀이] 5 | 1. ** 사용 6 | ''' 7 | def solution(n): 8 | return (n ** 0.5 + 1) ** 2 if int(n ** 0.5) ** 2 == n else -1 9 | ''' 10 | 참고로 math.is_integer()를 사용할 수도 있음 11 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.제일_작은_수_제거하기/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(arr): 2 | arr.remove(min(arr)) 3 | return arr if arr else [-1] -------------------------------------------------------------------------------- /programmers/난이도별/level01.제일_작은_수_제거하기/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(arr): 2 | arr.remove(min(arr)) 3 | return arr if len(arr) else [-1] 4 | 5 | 6 | print(solution([4, 3, 2, 1]) == [4, 3, 2]) 7 | print(solution([10]) == [-1]) 8 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.제일_작은_수_제거하기/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12935 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.제일_작은_수_제거하기/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(arr): 2 | if len(arr) == 1: 3 | return [-1] 4 | arr.remove(min(arr)) 5 | return arr 6 | 7 | print(solution([10]) == [-1]) 8 | print(solution([10,4,5,2,1]) ==[10, 4, 5, 2]) 9 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.제일_작은_수_제거하기/khw970421.js: -------------------------------------------------------------------------------- 1 | function solution(arr) { 2 | arr.splice(arr.indexOf(Math.min.apply(null,arr)),1); //가장 작은 값을 가진 위치에 있는 값을 없앤다. 3 | return (arr.length==0)?[-1]:arr; // 없앤후 값이 아예없으면 [-1]리턴 그게아니라면 arr리턴 4 | } 5 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.제일_작은_수_제거하기/rockmiin.py: -------------------------------------------------------------------------------- 1 | def solution(arr): 2 | tmp=sorted(arr)[0] 3 | if len(arr)>1: 4 | arr.remove(tmp) 5 | return arr 6 | return [-1] 7 | 8 | print( 9 | solution([4, 1, 2, 3])==[4, 2, 3] 10 | ) 11 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.제일_작은_수_제거하기/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12935 3 | 제일 작은 수 제거하기 4 | [풀이] 5 | 1. remove, sorted 사용 6 | ''' 7 | def solution(arr): 8 | arr and arr.remove(sorted(arr)[0]) 9 | return arr or [-1] 10 | ''' 11 | sorted = NlonN 12 | min = N 13 | 이니 최소값(최대값)을 이용할 것 14 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.직사각형_별찍기/6047198844.py: -------------------------------------------------------------------------------- 1 | a, b = map(int, input().strip().split(' ')) 2 | for _ in range(b): 3 | print('*' * int(a)) -------------------------------------------------------------------------------- /programmers/난이도별/level01.직사각형_별찍기/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | a, b = map(int, input().strip().split(' ')) 2 | for x in range(b): 3 | for y in range(a): 4 | print('*', end = '') 5 | print('', end = "\n") -------------------------------------------------------------------------------- /programmers/난이도별/level01.직사각형_별찍기/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | a, b = map(int, input().strip().split(' ')) 2 | print(('*' * a + '\n') * b) 3 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.직사각형_별찍기/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12969 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.직사각형_별찍기/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | a, b = map(int, input().strip().split(' ')) 2 | for i in range(b): 3 | print('*'*a) 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.직사각형_별찍기/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12969 3 | 직사각형 별찍기 4 | [풀이] 5 | 1. 반복문으로 생성된 list를 join. 이를 중첩 6 | ''' 7 | a, b = map(int, input().strip().split(' ')) 8 | print(('*'*a +'\n')*b) 9 | ''' 10 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.짝수와_홀수/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(num): 2 | return "Even" if num % 2 == 0 else "Odd" -------------------------------------------------------------------------------- /programmers/난이도별/level01.짝수와_홀수/Go-yj.py: -------------------------------------------------------------------------------- 1 | ''' 2 | 링크 : https://programmers.co.kr/learn/courses/30/lessons/12937 3 | 문제 : 짝수와 홀수 4 | 2로 나눈 나머지로 짝수, 홀수 판별 5 | ''' 6 | 7 | def solution(num): 8 | if num%2 == 0 : 9 | return 'Even' 10 | else : 11 | return 'Odd' 12 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.짝수와_홀수/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(num): 2 | return "Odd" if num % 2 else "Even" 3 | 4 | 5 | print(solution(3) == "Odd") 6 | print(solution(4) == "Even") 7 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.짝수와_홀수/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12937 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.짝수와_홀수/develop-sell.js: -------------------------------------------------------------------------------- 1 | function solution(num) { 2 | return num % 2 != 0 ? "Odd" : "Even"; 3 | } 4 | 5 | // 문제풀이: 6 | // 2로 나눠지면 짝수, 아니면 홀수 -------------------------------------------------------------------------------- /programmers/난이도별/level01.짝수와_홀수/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(num): 2 | if num % 2 == 1: 3 | return "Odd" 4 | else: 5 | return "Even" 6 | 7 | print(solution(66) == "Even") 8 | print(solution(11) == "Odd") 9 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.짝수와_홀수/khw970421.js: -------------------------------------------------------------------------------- 1 | function solution(num) { 2 | return (num%2!=0) ? "Odd" : "Even" 3 | } 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.짝수와_홀수/rockmiin.py: -------------------------------------------------------------------------------- 1 | def solution(num): 2 | if num%2==0: 3 | return "Even" 4 | return "Odd" -------------------------------------------------------------------------------- /programmers/난이도별/level01.짝수와_홀수/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12937 3 | 짝수와 홀수 4 | [풀이] 5 | 1. %2 6 | ''' 7 | def solution(num): 8 | return num % 2 and "Odd" or "Even" 9 | ''' 10 | %2 대신 비트 연산자로 & 1 로 짝홀수 구분 가능 11 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.체육복/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/42862 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.최대공약수와_최소공배수/6047198844.py: -------------------------------------------------------------------------------- 1 | import math 2 | def solution(n, m): 3 | return [math.gcd(n,m),(n*m) // math.gcd(n, m)] 4 | #lcm삭제됨 -------------------------------------------------------------------------------- /programmers/난이도별/level01.최대공약수와_최소공배수/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | def solution(n, m): 2 | answer = [] 3 | j = m 4 | i = n 5 | while (n % i != 0 or m % i != 0): 6 | i -= 1 7 | answer.append(i) 8 | while (j % n != 0 or j % m != 0): 9 | j += 1 10 | answer.append(j) 11 | return answer 12 | 13 | print(solution(3, 12) == [3, 12]) -------------------------------------------------------------------------------- /programmers/난이도별/level01.최대공약수와_최소공배수/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(n, m): 2 | p = n * m # 최소공배수 = 두 자연수의 곱/ 최대공약수 3 | while n > 0: # Euclidean Algorithm 4 | m, n = n, m % n 5 | return [m, int(p / m)] 6 | 7 | 8 | print(solution(2, 5) == [1, 10]) 9 | print(solution(3, 12) == [3, 12]) 10 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.최대공약수와_최소공배수/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12940 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.최대공약수와_최소공배수/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(n, m): 2 | a, b = max(n,m), min(n,m) 3 | for i in range(1, b+1): 4 | if n%i == 0 and m%i == 0: 5 | a1 = i 6 | return [a1,a*b//a1] 7 | 8 | print(solution(2,5) == [1,10]) 9 | print(solution(3,12) == [3,12]) 10 | print(solution(12,15) == [3,60]) 11 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.콜라츠_추측/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(num): 2 | for cnt in range(501): 3 | if num == 1: 4 | return cnt 5 | if num % 2 == 0: 6 | num /= 2 7 | else: 8 | num = num * 3 + 1 9 | return -1 -------------------------------------------------------------------------------- /programmers/난이도별/level01.콜라츠_추측/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | def solution(num): 2 | tries = 0 3 | while num != 1: 4 | num = num // 2 if num % 2 == 0 else num * 3 + 1 5 | tries += 1 6 | if tries == 500: 7 | return -1 8 | return tries -------------------------------------------------------------------------------- /programmers/난이도별/level01.콜라츠_추측/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(num): 2 | n = 0 3 | while num > 1: 4 | num = num * 3 + 1 if num % 2 else num / 2 5 | n += 1 6 | if n == 500: 7 | return -1 8 | return n 9 | 10 | 11 | print(solution(6) == 8) 12 | print(solution(16) == 4) 13 | print(solution(626331) == -1) 14 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.콜라츠_추측/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12943 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.콜라츠_추측/khw970421.js: -------------------------------------------------------------------------------- 1 | function solution(num) 2 | { 3 | let a=0; 4 | if(num===1) 5 | return 0; 6 | do { 7 | num=(num%2===0)?(num/2):(num*3+1); 8 | a++; 9 | } 10 | while(num!==1) 11 | return (500>a)?a:-1; 12 | } 13 | 14 | // 출처 : https://programmers.co.kr/learn/courses/30/lessons/12943 15 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.콜라츠_추측/rockmiin.py: -------------------------------------------------------------------------------- 1 | def solution(num): 2 | for i in range(500): 3 | if num == 1: return i 4 | elif(num%2==0): num=num/2 5 | else: num=3*num+1 6 | return -1 7 | 8 | print( 9 | solution(6) 10 | ) -------------------------------------------------------------------------------- /programmers/난이도별/level01.콜라츠_추측/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12943 3 | 콜라츠 추측 4 | [풀이] 5 | 1. 주어진 알고리즘 그대로 풀이 6 | ''' 7 | def solution(num): 8 | for i in range(500): 9 | if num == 1: return i 10 | num = num * 3 + 1 if num & 1 else num // 2 11 | return -1 12 | 13 | ''' 14 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.크레인_인형뽑기_게임/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/64061 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.평균_구하기/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(arr): 2 | return sum(arr) / len(arr) -------------------------------------------------------------------------------- /programmers/난이도별/level01.평균_구하기/Go-yj.py: -------------------------------------------------------------------------------- 1 | ''' 2 | 링크 : https://programmers.co.kr/learn/courses/30/lessons/12944 3 | 문제 : 평균 구하기 4 | 하샤드 수 문제를 풀 때 한 줄의 코드로 덧셈을 하는 것을 보고 이를 따라해봤습니다. 5 | 그런데 여기서는 list라 훨씬 쉽게 하는 방법이 있어 메모합니다. 6 | [메모메모] 7 | sum(arr) / len(arr) 8 | ''' 9 | 10 | def solution(arr): 11 | answer = sum([x for x in arr]) / len(arr) 12 | return answer 13 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.평균_구하기/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | import numpy 2 | 3 | 4 | def solution1(arr): 5 | return numpy.mean(arr) 6 | 7 | 8 | def solution2(arr): 9 | return sum(arr) / len(arr) 10 | 11 | 12 | print(solution1([1, 2, 3, 4])) 13 | print(solution1([5, 5])) 14 | 15 | print(solution2([1, 2, 3, 4]) == 2.5) 16 | print(solution2([5, 5]) == 5) 17 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.평균_구하기/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12944 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.평균_구하기/develop-sell.js: -------------------------------------------------------------------------------- 1 | function solution(arr) { 2 | return arr.reduce((result, present) => (result + present)) / arr.length; 3 | } 4 | 5 | // 문제풀이: 6 | // 지난 번에 배웠던 reduce 함수를 통해 값을 구할 수 있었다. 7 | // reduce의 맨 앞 값(result)은 함수 적용된 후의 함수이고, 8 | // present는 현재 값이다. 9 | // 결과에 현재값을 다 더하고, array의 길이 만큼 나누면 평균값이 나온다. -------------------------------------------------------------------------------- /programmers/난이도별/level01.평균_구하기/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(arr): 2 | answer = 0 3 | for i in arr: 4 | answer += i 5 | return answer/len(arr) 6 | 7 | 8 | print(solution([1,2,3,4]) == 2.5) 9 | print(solution([1,4,7,9]) == 5.25) 10 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.평균_구하기/khw970421.js: -------------------------------------------------------------------------------- 1 | function solution(arr) { 2 | return arr.reduce((a,b)=>a+b)/arr.length; 3 | } 4 | //출처 : https://programmers.co.kr/learn/courses/30/lessons/12944 5 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.평균_구하기/rockmiin.py: -------------------------------------------------------------------------------- 1 | def solution(arr): 2 | return sum(arr)/len(arr) 3 | 4 | print( 5 | solution([1, 2, 3, 4])==2.5 6 | ) 7 | 8 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.평균_구하기/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12944 3 | 평균 구하기 4 | [풀이] 5 | 1. sum / len 6 | ''' 7 | def solution(arr): 8 | return sum(arr)/len(arr) 9 | ''' 10 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.폰켓몬/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/1845 3 | 폰켓몬 4 | [풀이] 5 | 1. set 사용 6 | ''' 7 | def solution(nums): 8 | return min(len(nums)//2, len(set(nums))) 9 | ''' 10 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.하샤드_수/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(x): 2 | return x % sum(map(int,str(x))) == 0 -------------------------------------------------------------------------------- /programmers/난이도별/level01.하샤드_수/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | def solution(x): 2 | total = 0 3 | num = x 4 | for i in str(x): 5 | if num > 0: 6 | total += num % 10 7 | num = num // 10 8 | return x % total == 0 -------------------------------------------------------------------------------- /programmers/난이도별/level01.하샤드_수/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(x): 2 | return not (x % sum(map(int, str(x)))) 3 | 4 | 5 | print(solution(10) == True) 6 | print(solution(12) == True) 7 | print(solution(11) == False) 8 | print(solution(13) == False) 9 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.하샤드_수/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12947 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.하샤드_수/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(x): 2 | s= str(x) 3 | sum = 0 4 | for i in s: 5 | sum += int(i) 6 | return True if x % sum == 0 else False 7 | 8 | print(solution(10) == True) 9 | print(solution(12) == True) 10 | print(solution(11) == False) 11 | print(solution(13) == False) 12 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.하샤드_수/rockmiin.py: -------------------------------------------------------------------------------- 1 | def solution(x): 2 | answer=True 3 | sum=0 4 | for i in str(x): 5 | sum+=int(i) 6 | if x%sum!=0: 7 | answer=False 8 | return answer 9 | 10 | print( 11 | solution(12)==True 12 | ) 13 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.하샤드_수/s2uyeoii.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | bool solution(int x) { 6 | 7 | int sum = 0; 8 | int x1 = x; 9 | 10 | while(x>=1 || x1 != 0) 11 | { 12 | sum += x1 % 10; 13 | x1 /= 10; 14 | } 15 | 16 | return x % sum == 0; 17 | 18 | } 19 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.하샤드_수/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12947 3 | 하샤드 수 4 | [풀이] 5 | 1. list화 하여 sum 6 | ''' 7 | def solution(x): 8 | return not x % sum(list(map(int, str(x)))) 9 | ''' 10 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.핸드폰_번호_가리기/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(phone_number): 2 | N = len(phone_number) 3 | return '*' * (N-4) + phone_number[-4:] -------------------------------------------------------------------------------- /programmers/난이도별/level01.핸드폰_번호_가리기/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | def solution(phone_number): 2 | return phone_number.replace(phone_number[:-4],'*'*len(phone_number[:-4])) 3 | # return (len(phone_number) - 4) * "*" + phone_number[-4:] 4 | 5 | print(solution("01033334444") == "*******4444") 6 | print(solution("027778888") == "*****8888") -------------------------------------------------------------------------------- /programmers/난이도별/level01.핸드폰_번호_가리기/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(phone_number): 2 | return "*" * (len(phone_number) - 4) + phone_number[-4:] 3 | 4 | 5 | print(solution("01033334444") == "*******4444") 6 | print(solution("027778888") == "*****8888") 7 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.핸드폰_번호_가리기/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12948 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.핸드폰_번호_가리기/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(phone_number): 2 | answer = phone_number.replace(phone_number[0:-4],'*'*len(phone_number[0:-4])) 3 | return answer 4 | 5 | print(solution('0222925077') == '******5077') 6 | print(solution('01092295169') == '*******5169') 7 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.핸드폰_번호_가리기/rockmiin.py: -------------------------------------------------------------------------------- 1 | def solution(phone_number): 2 | return ("*"*(len(phone_number)-4)+phone_number[len(phone_number)-4:]) 3 | 4 | solution("01033334444") -------------------------------------------------------------------------------- /programmers/난이도별/level01.핸드폰_번호_가리기/s2uyeoii.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | 6 | string solution(string phone_number) { 7 | 8 | for(int i = 0, len = phone_number.length(); i < len - 4; i++) 9 | { 10 | phone_number[i] = '*'; 11 | } 12 | return phone_number; 13 | } 14 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.핸드폰_번호_가리기/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12948 3 | 핸드폰 번호 가리기 4 | [풀이] 5 | 1. join, for 사용 6 | ''' 7 | def solution(phone_number): 8 | return ''.join(['*' for i in phone_number[:-4]]) + phone_number[-4:] 9 | ''' 10 | 사실, 길이곱이 더 간단하다는 걸 생각하지 못했다니 11 | return "*"*(len(s)-4) + s[-4:] 12 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level01.행렬의_덧셈/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(arr1, arr2): 2 | return [[a+b 3 | for a, b in zip(a_1, a_2)] 4 | for a_1, a_2 in zip(arr1, arr2)] 5 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.행렬의_덧셈/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | def solution(arr1, arr2): 2 | answer = arr1 3 | for i, x in enumerate(arr2): 4 | for j, y in enumerate(x): 5 | answer[i][j] += y 6 | return answer 7 | 8 | print( 9 | solution([[1,2],[2,3]], [[3,4],[5,6]]) == [[4,6],[7,9]], 10 | solution([[1],[2]], [[3],[4]]) == [[4],[6]] 11 | ) 12 | -------------------------------------------------------------------------------- /programmers/난이도별/level01.행렬의_덧셈/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12950 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.124_나라의_숫자/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12899 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.H-Index/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | def solution(citations): 2 | citations.sort(reverse=True) 3 | for h in range(max(citations),-1,-1) : 4 | for cite in range(len(citations)) : 5 | if (citations[cite]>=h) : 6 | if (cite+1>=h) : 7 | return h 8 | break 9 | 10 | #100점 11 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.H-Index/README.md: -------------------------------------------------------------------------------- 1 | #출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/42747 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.H-Index/rockmiin.py: -------------------------------------------------------------------------------- 1 | def solution(citations): 2 | citations.sort(reverse=True) 3 | 4 | for i, j in enumerate(citations): 5 | if i>=j: 6 | return i 7 | return len(citations) 8 | 9 | print( 10 | solution([10, 50, 100, 100])==4 11 | ) 12 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.JadenCase_문자열_만들기/README.md: -------------------------------------------------------------------------------- 1 | #출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12951 -------------------------------------------------------------------------------- /programmers/난이도별/level02.N개의_최소공배수/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12953 3 | N개의 최소공배수 4 | [풀이] 5 | 1. GCD 사용 6 | ''' 7 | from math import gcd 8 | def solution(arr): 9 | a = arr[0] 10 | for b in arr[1:]: 11 | a = a * b // gcd(a, b) 12 | return a 13 | ''' 14 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level02.가장_큰_수/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(numbers) { 2 | const answer = numbers.map(c => c.toString()).sort((a, b) => (b + a) - (a + b)).join(''); 3 | return answer[0] === '0' ? '0' : answer; 4 | } -------------------------------------------------------------------------------- /programmers/난이도별/level02.가장_큰_수/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/42746 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.고양이와_개는_몇_마리_있을까/6047198844.sql: -------------------------------------------------------------------------------- 1 | -- 코드를 입력하세요 2 | SELECT ANIMAL_TYPE, COUNT(*) 3 | FROM ANIMAL_INS 4 | GROUP BY ANIMAL_TYPE 5 | ORDER BY 1 -------------------------------------------------------------------------------- /programmers/난이도별/level02.괄호변환/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/60058 -------------------------------------------------------------------------------- /programmers/난이도별/level02.기능개발/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/42586 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.다리를_지나는_트럭/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | http://programmers.co.kr/learn/courses/30/lessons/42583 -------------------------------------------------------------------------------- /programmers/난이도별/level02.다음_큰_숫자/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | binary_n = bin(n) 3 | num_1 = binary_n.count('1') 4 | for i in range(1, 1000001-n): #n은 1000000이하의 자연수 이므로 5 | if bin(n + i).count('1') == num_1: 6 | return int(n+i) 7 | 8 | print(solution(78)==83, solution(15)==23) 9 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.다음_큰_숫자/README.md: -------------------------------------------------------------------------------- 1 | ##출처 2 | https://programmers.co.kr/learn/courses/30/lessons/12911 -------------------------------------------------------------------------------- /programmers/난이도별/level02.다음_큰_숫자/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12911 3 | 다음 큰 숫자 4 | [풀이] 5 | 1. format 사용 6 | ''' 7 | def solution(n): 8 | one = format(n, 'b').count('1') 9 | while True: 10 | n += 1 11 | if one == format(n, 'b').count('1'): return n 12 | ''' 13 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level02.더_맵게/README.md: -------------------------------------------------------------------------------- 1 | 출처 : https://programmers.co.kr/learn/courses/30/lessons/42626 2 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.동명_동물_수_찾기/6047198844.sql: -------------------------------------------------------------------------------- 1 | -- 코드를 입력하세요 2 | SELECT NAME, COUNT(*) 3 | FROM ANIMAL_INS 4 | WHERE NAME IS NOT NULL 5 | GROUP BY NAME 6 | HAVING COUNT(*) >= 2 7 | ORDER BY NAME 8 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.루시와_엘라_찾기/6047198844.sql: -------------------------------------------------------------------------------- 1 | -- 코드를 입력하세요 2 | SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE 3 | FROM ANIMAL_INS 4 | WHERE NAME = 'Lucy' 5 | OR NAME = 'Ella' 6 | OR NAME = 'Pickle' 7 | OR NAME = 'Rogan' 8 | OR NAME = 'Sabrina' 9 | OR NAME = 'Mitty' 10 | ORDER BY 1; -------------------------------------------------------------------------------- /programmers/난이도별/level02.멀리_뛰기/6047198844.py: -------------------------------------------------------------------------------- 1 | import sys 2 | sys.setrecursionlimit(10000) 3 | 4 | memo = [-1]*2001 5 | 6 | def solution(n): 7 | if n <= 2: 8 | return n 9 | if memo[n] != -1: 10 | return memo[n] 11 | memo[n] = (solution(n-1) % 1234567 + solution(n-2) % 1234567) % 1234567 12 | return memo[n] -------------------------------------------------------------------------------- /programmers/난이도별/level02.멀쩡한_사각형/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/62048 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.문자열압축/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/60057 -------------------------------------------------------------------------------- /programmers/난이도별/level02.쇠막대기/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/42585 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.숫자의_표현/README.md: -------------------------------------------------------------------------------- 1 | #출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12924 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.스킬트리/README.md: -------------------------------------------------------------------------------- 1 | #출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/49993 -------------------------------------------------------------------------------- /programmers/난이도별/level02.스킬트리/desktop.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/programmers/난이도별/level02.스킬트리/desktop.ini -------------------------------------------------------------------------------- /programmers/난이도별/level02.예상_대진표/6047198844.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace std; 4 | 5 | int solution(int n, int a, int b) 6 | { 7 | int cnt; 8 | for(cnt = 0;a!=b;cnt++){ 9 | a = a/2 + a%2; 10 | b = b/2 + b%2; 11 | } 12 | return cnt; 13 | } -------------------------------------------------------------------------------- /programmers/난이도별/level02.올바른_괄호/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12909 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.올바른_괄호/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12909 3 | 올바른 괄호 4 | ''' 5 | 6 | def solution(s): 7 | cnt = 0 8 | for i in s: 9 | if i == "(": 10 | cnt += 1 11 | continue 12 | cnt -= 1 13 | if cnt < 0: break 14 | return cnt == 0 15 | 16 | ''' 17 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level02.위장/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/42578 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.이름에_el이_들어가는_동물_찾기/6047198844.sql: -------------------------------------------------------------------------------- 1 | -- 코드를 입력하세요 2 | SELECT ANIMAL_ID, NAME 3 | FROM ANIMAL_INS 4 | WHERE NAME LIKE '%EL%' AND ANIMAL_TYPE = 'Dog' 5 | ORDER BY 2 -------------------------------------------------------------------------------- /programmers/난이도별/level02.이름이_없는_동물의_아이디/6047198844_.sql: -------------------------------------------------------------------------------- 1 | SELECT ANIMAL_ID 2 | FROM ANIMAL_INS 3 | WHERE NAME IS NULL 4 | ORDER BY 1 -------------------------------------------------------------------------------- /programmers/난이도별/level02.이진_변환_반복하기/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/70129 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.저울/JeongShin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/programmers/난이도별/level02.저울/JeongShin.js -------------------------------------------------------------------------------- /programmers/난이도별/level02.전화번호_목록/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/42577 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.주식가격/README.md: -------------------------------------------------------------------------------- 1 | https://programmers.co.kr/learn/courses/30/lessons/42584 2 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.짝지어_제거하기/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | slist = [s[0]] 3 | for x in s[1:]: 4 | if slist != [] and x == slist[-1]: 5 | slist.pop() 6 | continue 7 | slist.append(x) 8 | return int(slist == []) 9 | 10 | print(solution("baabaa") == 1, solution("cdcd") == 0) -------------------------------------------------------------------------------- /programmers/난이도별/level02.짝지어_제거하기/README.md: -------------------------------------------------------------------------------- 1 | #출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12973 -------------------------------------------------------------------------------- /programmers/난이도별/level02.최댓값과 최솟값/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12939 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.최댓값과_최솟값/Go-yj.py: -------------------------------------------------------------------------------- 1 | ''' 2 | 링크 : https://programmers.co.kr/learn/courses/30/lessons/12939 3 | 문제 : 최댓값과 최솟값 4 | ''' 5 | 6 | def solution(s): 7 | s = list(map(int,s.split())) 8 | return str(min(s)) + ' ' + str(max(s)) 9 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.최댓값과_최솟값/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | splitted_list = sorted(map(int, s.split())) 3 | return f'{splitted_list[0]} {splitted_list[-1]}' 4 | 5 | print( 6 | solution("1 2 3 4") == "1 4", 7 | solution("-1 -2 -3 -4") == "-4 -1", 8 | solution("-1 -1") == "-1 -1" 9 | ) -------------------------------------------------------------------------------- /programmers/난이도별/level02.최댓값과_최솟값/rockmiin_최댓값과최솟값.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | s=list(map(int, s.split())) 3 | answer=map(str, [min(s), max(s)]) 4 | return ' '.join(answer) 5 | 6 | solution("1 2 3 4") -------------------------------------------------------------------------------- /programmers/난이도별/level02.최댓값과_최솟값/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12939 3 | 최대값과 최솟값 4 | ''' 5 | 6 | def solution(s): 7 | numbers = list(map(int, s.split(' '))) 8 | return f"{min(numbers)} {max(numbers)}" 9 | 10 | ''' 11 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level02.최솟값_만들기/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | def solution(A,B): 2 | # A와 B 배열에서 한 개씩 뽑아 두 수를 곱한 합이 최소가 되는 값을 구하는 문제 3 | # A를 오름차순, B를 내림차순으로 정리하고 같은 인덱스끼리 곱한 합을 반환하게 구성함 4 | A.sort() 5 | B.sort(reverse = True) 6 | answer = 0 7 | for i in range(len(A)): 8 | answer += A[i] * B[i] 9 | return answer 10 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.최솟값_만들기/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12941 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.최솟값_만들기/rockmiin.py: -------------------------------------------------------------------------------- 1 | def solution(A, B): 2 | answer = 0 3 | A = sorted(A) 4 | B = sorted(B, reverse=True) 5 | 6 | for i in range(len(A)): 7 | answer += A[i] * B[i] 8 | return answer 9 | 10 | print( 11 | solution([1, 4, 2], [5, 4, 4]) 12 | ) 13 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.최솟값_만들기/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12941 3 | 최솟값 만들기 4 | 각 리스트를 오름차순, 내림차순으로 곱셈 5 | ''' 6 | 7 | def solution(A,B): 8 | return sum([a * b for a, b in zip(sorted(A), sorted(B)[::-1])]) 9 | 10 | ''' 11 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level02.카펫/Jaewon0702.py: -------------------------------------------------------------------------------- 1 | import math 2 | def solution(brown, yellow) : 3 | row=int((2 + brown/2 + math.sqrt( (2 + brown/2)**2 - 4*(brown + yellow))) /2) #근의 공식 4 | return[row,int (brown/2 - row + 2)] 5 | 6 | #100점 7 | print(solution(10,2)==[4,3]) 8 | print(solution(8,1)==[3,3]) 9 | print(solution(24,24)==[8,6]) 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.카펫/README.md: -------------------------------------------------------------------------------- 1 | **출처** 2 | https://programmers.co.kr/learn/courses/30/lessons/42842 3 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.카펫/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/42842 3 | 카펫 4 | ''' 5 | 6 | def solution(brown, yellow): 7 | for i in range(1, int(yellow**0.5)+1): 8 | if yellow % i == 0 and i + (yellow // i) == (brown - 4) // 2: 9 | return [yellow // i+2, i+2] 10 | 11 | ''' 12 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level02.큰_수_만들기/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/programmers/난이도별/level02.큰_수_만들기/6047198844.cpp -------------------------------------------------------------------------------- /programmers/난이도별/level02.큰_수_만들기/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/42883 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.타겟_넘버/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/43165 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.탑/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/42588 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.폰켓몬/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/1845 3 | 폰켓몬 4 | ''' 5 | 6 | def solution(nums): 7 | return min(len(nums)//2, len(set(nums))) 8 | 9 | ''' 10 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level02.프린터/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/42587 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.피보나치_수/HyeonJeong.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | fibo = [0, 1] 3 | for i in range(2, n + 1): 4 | fibo.append(fibo[i - 1] + fibo[i - 2]) 5 | return fibo[-1] % 1234567 6 | 7 | print( 8 | solution(3) == 2, 9 | solution(5) == 5 10 | ) 11 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.피보나치_수/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12945 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.피보나치_수/dkdlelk99.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | fibo = [0,1] 3 | for i in range(n-1): 4 | fibo.append(fibo[-1] + fibo[-2]) 5 | return fibo[-1] % 1234567 6 | 7 | print(solution(3) == 2) 8 | print(solution(5) == 5) 9 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.피보나치_수/rockmiin.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | # A(n)= A(n-1)+A(n-2) 3 | dp=[0, 1] 4 | for i in range(2, n+1): 5 | dp.append((dp[i-1]+dp[i-2])%1234567) 6 | return dp[-1] 7 | 8 | print( 9 | solution(5)==5 10 | ) 11 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.행렬의곱셈/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/12949 4 | -------------------------------------------------------------------------------- /programmers/난이도별/level02.행렬의곱셈/sangmandu.py: -------------------------------------------------------------------------------- 1 | ''' 2 | https://programmers.co.kr/learn/courses/30/lessons/12949 3 | 행렬의 곱셈 4 | ''' 5 | 6 | import numpy as np 7 | def solution(arr1, arr2): 8 | return np.array(arr1).dot(np.array(arr2)).tolist() 9 | 10 | ''' 11 | ''' -------------------------------------------------------------------------------- /programmers/난이도별/level03.2xn타일링/6047198844.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace std; 5 | 6 | int memo[60001] = {1}; 7 | int dp(int n) { 8 | return 9 | n < 0 ? 0 : 10 | memo[n] ? memo[n] : 11 | memo[n] = (dp(n - 2) + dp(n - 1))%1000000007; 12 | } 13 | 14 | int solution(int n) { 15 | return dp(n); 16 | } -------------------------------------------------------------------------------- /programmers/난이도별/level03.2xn타일링/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | const fib = [0, 1, 2] 3 | for (let i = 3; i <= n; i++) { 4 | fib[i] = (fib[i - 2] + fib[i - 1])%1000000007 5 | } 6 | return fib[n] 7 | } -------------------------------------------------------------------------------- /programmers/난이도별/level03.2xn타일링/rockmiin.py: -------------------------------------------------------------------------------- 1 | def solution(n): 2 | dp=[0]*(n+1) 3 | dp[1]=1; dp[2]=2 4 | for i in range(3, n+1): 5 | dp[i]=(dp[i-1]+dp[i-2])%1000000007 6 | return dp[-1] 7 | 8 | print( 9 | solution(4)==5 10 | ) -------------------------------------------------------------------------------- /programmers/난이도별/level03.가사검색/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/60060https://programmers.co.kr/learn/courses/30/lessons/60060 -------------------------------------------------------------------------------- /programmers/난이도별/level03.가장_긴_팰린드롬/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(s): 2 | for l in range(len(s),0,-1): 3 | for i in range(0,len(s)-l+1): 4 | if s[i:i+l] == s[i:i+l][::-1]: 5 | return l -------------------------------------------------------------------------------- /programmers/난이도별/level03.기둥과보/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/60061 -------------------------------------------------------------------------------- /programmers/난이도별/level03.단속카메라/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(routes): 2 | routes.sort(key=lambda route: route[1]) 3 | 4 | pos_camera = -30001 5 | cnt_camera = 0 6 | 7 | for route in routes: 8 | if pos_camera < route[0]: 9 | pos_camera = route[1] 10 | cnt_camera += 1 11 | return cnt_camera -------------------------------------------------------------------------------- /programmers/난이도별/level03.멀리뛰기/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(n) { 2 | const result = {'1': 1, '2': 2} 3 | for (let i = 3; i <= n; i++) { 4 | result[i] = (result[i - 1] + result [i -2] ) %1234567 5 | } 6 | return result[n] 7 | } 8 | 9 | solution(4) -------------------------------------------------------------------------------- /programmers/난이도별/level03.외벽점검/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/60062 -------------------------------------------------------------------------------- /programmers/난이도별/level03.자물쇠와열쇠/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/learn/courses/30/lessons/60059https://programmers.co.kr/learn/courses/30/lessons/60059 -------------------------------------------------------------------------------- /programmers/난이도별/level03.저울/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(weight) { 2 | weight.sort((a, b) => a - b) 3 | let answer = 1 4 | for (const w of weight) { 5 | if (answer < w) break; 6 | answer+=w 7 | } 8 | return answer 9 | } 10 | 11 | solution([3, 1, 6, 2, 7, 30, 1]); 12 | -------------------------------------------------------------------------------- /programmers/난이도별/level03.최고의_집합/6047198844.py: -------------------------------------------------------------------------------- 1 | #다시 2 | #접근이 잘못됬음 3 | def solution(n, s): 4 | num = s // n 5 | return [-1] if num == 0 else [num] * (n-s%n) + [num+1] * (s%n) -------------------------------------------------------------------------------- /programmers/난이도별/level03.최고의_집합/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(n, s) { 2 | let [q, r] = [Math.floor(s / n), s % n] 3 | if (q === 0) 4 | return [-1] 5 | const arr = new Array(n).fill(q); 6 | let i = n - 1; 7 | while (r > 0) { 8 | arr[i]++; 9 | r--; 10 | i--; 11 | } 12 | return arr 13 | } -------------------------------------------------------------------------------- /programmers/난이도별/level03.타일_장식물/JeongShin.js: -------------------------------------------------------------------------------- 1 | function solution(N) { 2 | const arr = new Array(2).fill(1); 3 | for (let i = 2; i <= N; i++) { 4 | arr[i] = arr[i - 1] + arr[i - 2]; 5 | } 6 | return (arr[N] + (arr[N - 1] || 0)) * 2; 7 | } 8 | -------------------------------------------------------------------------------- /programmers/난이도별/level03.헤비 유저가 소유한 장소/6047198844.sql: -------------------------------------------------------------------------------- 1 | SELECT ID, NAME, HOST_ID FROM PLACES 2 | WHERE HOST_ID IN ( 3 | SELECT HOST_ID FROM PLACES 4 | GROUP BY HOST_ID 5 | HAVING COUNT(HOST_ID) > 1 6 | ) ORDER BY ID -------------------------------------------------------------------------------- /programmers/난이도별/remove_spacebar.py: -------------------------------------------------------------------------------- 1 | 2 | import os, re 3 | path = os.getcwd() 4 | 5 | for i in os.listdir(os.getcwd()): 6 | print(i) 7 | ori = i 8 | i = i.replace(' ', '_') 9 | print(i) 10 | print(path+'/'+ori, path+'/'+i) 11 | os.rename(path+'/'+ori, path+'/'+i) 12 | 13 | -------------------------------------------------------------------------------- /programmers/우아한캠프 2020 하반기/1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/programmers/우아한캠프 2020 하반기/1.PNG -------------------------------------------------------------------------------- /programmers/우아한캠프 2020 하반기/2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/programmers/우아한캠프 2020 하반기/2.PNG -------------------------------------------------------------------------------- /programmers/우아한캠프 2020 하반기/3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/programmers/우아한캠프 2020 하반기/3.PNG -------------------------------------------------------------------------------- /programmers/우아한캠프 2020 하반기/4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/programmers/우아한캠프 2020 하반기/4.PNG -------------------------------------------------------------------------------- /programmers/우아한캠프 2020 하반기/5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/programmers/우아한캠프 2020 하반기/5.PNG -------------------------------------------------------------------------------- /programmers/우아한캠프 2020 하반기/6.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/programmers/우아한캠프 2020 하반기/6.PNG -------------------------------------------------------------------------------- /programmers/우아한캠프 2020 하반기/7-1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/programmers/우아한캠프 2020 하반기/7-1.PNG -------------------------------------------------------------------------------- /programmers/우아한캠프 2020 하반기/7-2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/programmers/우아한캠프 2020 하반기/7-2.PNG -------------------------------------------------------------------------------- /programmers/위클리 챌린지/1주차/6047198844.py: -------------------------------------------------------------------------------- 1 | def solution(price, money, count): 2 | need = count * (count + 1) // 2 * price - money 3 | return need if need > 0 else 0 -------------------------------------------------------------------------------- /programmers/카카오_2020_상반기_인턴_코딩테스트/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | 공개된 문제는 아닙니다. -------------------------------------------------------------------------------- /programmers/프로그래머스_챌린지/2020_상반기_백엔드개발자_코딩테스트.01/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/competitions/144/2020-web-be-first -------------------------------------------------------------------------------- /programmers/프로그래머스_챌린지/2020_상반기_백엔드개발자_코딩테스트.02/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/competitions/144/2020-web-be-first -------------------------------------------------------------------------------- /programmers/프로그래머스_챌린지/2020_상반기_백엔드개발자_코딩테스트.03/README.md: -------------------------------------------------------------------------------- 1 | # 출처 2 | 3 | https://programmers.co.kr/competitions/144/2020-web-be-first -------------------------------------------------------------------------------- /programmers/프로그래머스_챌린지/README.md: -------------------------------------------------------------------------------- 1 | # 프로그래머스 챌린지 2 | 3 | - [챌린지 홈](https://programmers.co.kr/competitions) 4 | - [2020 상반기 백엔드개발자 챌린지](https://programmers.co.kr/competitions/144/2020-web-be-first) -------------------------------------------------------------------------------- /라이브러리/prefixSum.js: -------------------------------------------------------------------------------- 1 | const getPrefixSum = (originArr) => { 2 | return originArr.reduce((prefixSum, num, key) => { 3 | prefixSum.push((num + prefixSum[key])); 4 | return prefixSum; 5 | }, [0]); 6 | }; -------------------------------------------------------------------------------- /알고스팟/두니발 박사의 탈옥/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/알고스팟/두니발 박사의 탈옥/6047198844.cpp -------------------------------------------------------------------------------- /알고스팟/삼각형 위의 최대 경로수 세기/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/알고스팟/삼각형 위의 최대 경로수 세기/6047198844.cpp -------------------------------------------------------------------------------- /알고스팟/와일드카드/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/알고스팟/와일드카드/6047198844.cpp -------------------------------------------------------------------------------- /알고스팟/원주율 외우기/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/알고스팟/원주율 외우기/6047198844.cpp -------------------------------------------------------------------------------- /알고스팟/장마가 찾아왔다/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/알고스팟/장마가 찾아왔다/6047198844.cpp -------------------------------------------------------------------------------- /알고스팟/합친 LIS/6047198844.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DKU-STUDY/Algorithm/6f78efdbefd8eedab24e43d74c7dae7f95c2893b/알고스팟/합친 LIS/6047198844.cpp --------------------------------------------------------------------------------