분류 전체보기(52)
-
Lv_2. 3주차_퍼즐 조각 채우기
* Programmers _위클리 챌린지 문제입니다. * 언어는 javascript 를 선택했습니다. 1. 문제 1) 퍼즐 조각 채우기 테이블 위에 놓인 퍼즐 조각을 게임 보드의 빈 공간에 적절히 올려놓으려 합니다. 게임 보드와 테이블은 모두 각 칸이 1x1 크기인 정사각 격자 모양입니다. 이때, 다음 규칙에 따라 테이블 위에 놓인 퍼즐 조각을 게임 보드의 빈칸에 채우면 됩니다. 조각은 한 번에 하나씩 채워 넣습니다. 조각을 회전시킬 수 있습니다. 조각을 뒤집을 수는 없습니다. 게임 보드에 새로 채워 넣은 퍼즐 조각과 인접한 칸이 비어있으면 안 됩니다. 다음은 퍼즐 조각을 채우는 예시입니다. 위 그림에서 왼쪽은 현재 게임 보드의 상태를, 오른쪽은 테이블 위에 놓인 퍼즐 조각들을 나타냅니다. 테이블 위에 ..
2021.11.13 -
Lv01. 최소 직사각형
* Programmers _위클리 챌린지 5주차 문제입니다. * 언어는 javascript 를 선택했습니다. 1. 문제 1) 최소 직사각형 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다. 명함 번호가로 길이세로 길이 1 60 50 2 30 70 3 60 30 4 80 40 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하..
2021.11.12 -
Lv_2. 모음사전
* Programmers _위클리 챌린지 5주차 문제입니다. * 언어는 javascript 를 선택했습니다. 1. 문제 1) 모음사전 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다. 단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요. 2) 제한사항 word의 길이는 1 이상 5 이하입니다. word는 알파벳 대문자 'A', 'E', 'I', 'O', 'U'로만 이루어져 있습니다. 2. 알고리즘! 생각해보자 처음에는 문제가 이해가지 않..
2021.11.06 -
Lv_1. 부족한 금액 계산하기
* Programmers _위클리 챌린지 1주차 문제입니다. * 언어는 javascript 를 선택했습니다. 1. 문제 1) 부족한 금액 계산하기 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 2) 제한사항 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, pric..
2021.11.06 -
[클린코드] 객체지향 설계의 5원칙_ SOLID 원칙이란?
S.O.L.I.D 원칙이란 무엇일까? SRP_ Single Responsibility Principle : 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. OCP_ Open Closed Principle : 개방-폐쇄 원칙 소프트웨어 요소는 확상에는 열려 있으나 변경에는 닫혀 있어야 한다. LSP_ Liskov Substitution Principle : 리스코프 치환 원칙 서브 타입(child component)은 언제나 기반 타입(parent component)으로 교체할 수 있어야 한다. ISP_ Interface Segregation Principle : 인터페이스 분리 원칙 자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다. 만약 어떤 클래스를 이용하는 클라이언트가 여러 개이고, ..
2021.08.08