본문 바로가기

분류 전체보기282

[2020 KAKAO BLIND RECRUITMENT] 자물쇠와 열쇠 (JAVA) 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 먼저 key의 돌기 부분(1) 좌표를 저장하고 lock의 홈 부분(0)의 좌표를 저장해뒀다. 예제의 key 돌기 부분 좌표 : (1,0) (2,1) (2,2) 예제의 lock 홈 부분 좌표 : (1,2) (2,1) 이제 다음과 같이 진행한다. 1. key의 돌기 좌표를 반복문을 이용해 하나를 선택해서 lock의 홈 좌표 위치중 하나에 맞춘다. ex. (1,0)을 (1,2)에 맞추기 위해서 x좌표는 +0, y좌표는 +2 해주면 된다. ps. (1,0) -> (1,2) (+0,+2) / (1,0) -> (2,1) .. 2020. 9. 9.
[2020 KAKAO BLIND RECRUITMENT] 괄호변환 (JAVA) 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴� programmers.co.kr 용어의 설명대로 재귀함수를 만들면 어렵지 않게 풀 수 있는 문제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 public clas.. 2020. 9. 8.
[2020 KAKAO BLIND RECRUITMENT] 문자열 압축 (JAVA) 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 public class 문자열압축 { public static int solution(String s) { int answer = Integer.MAX_V.. 2020. 9. 8.
Inheritance와 Delegation (상속과 위임) 클래스의 상속(Inheritance) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 class Person{ protected int age; protected String name; public Person(int age, String name){ this.age = age; this.name = name; } public int getAge(){ return this.age; } public String getName(){ return this.name; } } Colored by Color Scripter cs Person 클래스를 상속받는 Student 클래스는 다음과 같이 정의할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 class Student.. 2020. 9. 5.
디자인 패턴(Design Pattern) [디자인 패턴이란?] 소프트웨어 공학에서의 디자인 패턴(Design pattern)이란 프로그램 개발 시에 자주 마주하는 애로 사항에 대한 일반적이고 재사용 가능한 추상화된 해결책을 말한다. 간단하게 예를 들자면 어떤 시스템에 최고 관리자가 존재한다고 가정하자. 이 사람에게만 주어지는 슈퍼 계정을 만들어야 하는데 이러한 슈퍼 계정은 두 개 이상 만들 이유도 없고, 해서도 안된다(다른 사람이 해당 계정을 사용할 수 있으므로). 이런 문제 상황에서 이를 해결하기 위한 디자인 패턴으로 Singleton 패턴이 존재한다. 디자인 패턴은 일반화된 해결책이고(특정한 구현이 아님) 추후 재사용, 호환, 유지 보수시 발생하는 문제 해결을 위해 만들어 둔 것을 의미한다. * 원칙 (객체지향 설계 원칙) - Single .. 2020. 9. 4.
PCB Process Control Block - 특정한 프로세스를 관리할 필요가 있는 정보를 포함하는 운영체제 커널의 자료구조. - PCB는 운영체제가 프로세스를 표현한 것이라고 볼 수 있다. - 운영체제가 프로세스 스케줄링을 위해 프로세스에 관한 모든 정보를 가지고 있는 데이터베이스 - 운영체제에서 프로세스는 PCB로 나타내어지며, PCB는 프로세스에 대한 중요한 정보를 가지고 있다. 각 프로세스가 생성될때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB는 제거된다. - 프로세스가 CPU를 점유하여 작업을 처리하다가 상태가 전이되면, 진행하던 작업 내용들을 모두 정리하고 CPU를 반환해야 하는데, 이 때 진행하던 작업들을 모두 저장하지 않으면 다음에 자신의 순서가 왔을 때 어떠한 작업을 해야하는지 .. 2020. 8. 29.