본문 바로가기

전체글61

등굣길 https://school.programmers.co.kr/learn/courses/30/lessons/42898 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제] [요약] 격자의 크기인 m, n과 물이 잠긴 지역을 피하여 최소의 지점으로 집에서 학교로 갈 수 있는 경로의 갯수를 반환하라. 본 문제는 dp를 이용하여 해결하였습니다. (문제는 기본적인 동적계획법 문제 류중 하나) 1. 처음 방문지점은 집의 위치인 [1,1]일 수 밖에 없다. 따라서 탐색을 진행할때 [1,1] 위치는 제외하고 진행되도록 한다. 2. 처음 방문지점부터 방문처리 dp 배열을.. 2023. 5. 9.
동기와 비동기, Blocking과 Non-Blocking의 차이 서론 우선 알아야 할 것이, 두 개념은 서로 다른 개념이란 것을 알고 있어야합니다. 동기 / 비동기는 어떤 요청을 보내고 그 요청에 대한 결과가 돌아오기 전까지 대기하는방식을 의미합니다. Blocking / Non-Blocking는 입출력 작업을 수행할 때, 데이터가 읽거나 쓰여질 때까지 대기하거나 대기하지 않는 방식을 말합니다. 또한, 동기 / 동기, Blocking과 NonBlocking을 설명할때는 제어권이라는 말이 많이 나옵니다. 여기서 말하는 제어권이란 프로그램의 실행 과정에서 어떤 코드가 다음에 실행될지를 결정하는 권한을 말합니다. 동기 동기란 작업을 동시에 수행하거나, 동시에 끝나거나, 끝나는 동시에 시작함을 의미합니다. 동기는 호출된 함수의 처리가 완료될 때까지 제어권이 호출한 함수에게 남.. 2023. 5. 4.
1107 리모컨 - JAVA https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net [문제요약] 고장난 리모컨은 버튼이 0부터 9까지 숫자, +와 -가 있다. +를 누르면 현재 보고있는 채널에서 +1된 채널로 이동하고, -를 누르면 -1된 채널로 이동한다. 채널 0에서 -를 누른 경우에는 채널이 변하지 않고, 채널은 무한대 만큼 있다. 수빈이가 지금 이동하려고 하는 채널은 N이다. 어떤 버튼이 고장났는지 주어졌을 때, 채널 N으로 이동하기 위해서 버튼을 최소 몇 .. 2023. 5. 2.
객체지향 설계 원칙 SOLID SOLID 원칙은 유명한 로버트 C. 마틴이라는 분깨서 정리하신 5가지 원칙입니다. 객체 지향을 설계할때 지켜야하는 점들을 말하는데요. 하나씩 알아보겠습니다. SRP 단일 책임 원칙 (SIngle responsibility Principle) "하나의 클래스는 하나의 책임만 가져야 한다." 여기서 말하는 책임은 한가지 이유만으로 동작을 해야한다는 의미입니다. 어떠한 코드를 변경할때 이것을 계기로 여러 코드를 바꿔야 한다면 바꾸게 된 클래스는 여러 책임을 가지고 있다는 것이 되므로, 단일 책임 원칙을 지키고 있지 못한 것이죠. 예시를 통해 알아보겠습니다. // 잘못된 예시 class User { public void create() { ... } // DB에 새 사용자를 생성하는 책임 public void.. 2023. 4. 27.
반응형