목록Computer Science (26)
고딩왕 코범석

이번 포스팅에서는 2020 카카오 인턴십 코딩테스트 문제 중 첫 번째 문제인 키패드 누르기 문제에 대해 풀이를 해볼 것이다. 나의 풀이 방법 키패드를 딕셔너리로 표현했다. 문제에서 1,4,7 은 왼손, 3,6,9는 오른손으로 눌러야하기 때문에 left, right 라는 배열을 만들어서 저장해두었다. 2,5,8,0을 누를 때 마다 왼손, 오른손의 거리를 비교해야 한다. 이 때를 위해 현재 왼쪽, 오른쪽의 위치를 저장해두는 변수를 설정했다. (초기값 왼쪽 : *, 오른쪽 : #) 현재 손가락의 위치에서 누를 번호까지의 거리를 계산하는 메서드를 따로 작성했다. 거리가 같다면 hand 변수에 써있는 값을 통해 왼손으로 누를지, 오른손으로 누를지 결정한다. def get_distance(now, destinati..
이번 포스팅은 면접에도 자주 나올것 같은 주제라서 한번 정리해보려고 한다. 우선 SOLID가 어떤 것인지 파악부터 해보자 S : 단일 책임 원칙 (SRP - Single Responsibility Principle) O : 개방 폐쇄 원칙 (OCP - Open/Closed Principle) L : 리스코프 치환 원칙 (LSP - Liskov Substitution Principle) I : 인터페이스 분리 원칙 (ISP - Interface Segregation Principle) D : 의존관계 역전 원칙 (DIP - Dependency Inversion Principle) 1. 단일 책임 원칙 (Single Responsibility Principle) 한 클래스는 하나의 책임만 가져야한다. 이게 ..