전체 글(355)
-
[프로그래머스/Kotlin]Level3 - 기둥과 보 설치
Level3 - 기둥과 보 설치 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 빙하가 깨지면서 스노우타운에 떠내려 온 **"죠르디"**는 인생 2막을 위해 주택 건축사업에 뛰어들기로 결심하였습니다. "죠르디"는 기둥과 보를 이용하여 벽면 구조물을 자동으로 세우는 로봇을 개발할 계획인데, 그에 앞서 로봇의 동작을 시뮬레이션 할 수 있는 프로그램을 만들고 있습니다.프로그램은 2차원 가상 벽면에 기둥과 보를 이용한 구조물을 설치할 수 있는데, 기둥과 보는 길이가 1인 선분으로 표현되며 다음과 같은 규칙을 가지고 있습니다. 기둥은 바닥 위에 있거나 보..
2023.03.06 -
[Android/Async]Process, Thread에 대한 기본개념
Process란? 메모리에 올라와 있는 실행중인 프로그램 인스턴스. 운영체제로부터 시스템 자원을 할당받는 작업의 단 사용 중인 파일, 데이터, 프로세서의 상태, 메모리영역 주소 공간, 쓰레드 정보, 전역 데이터가 저장된 메모리 부분 등 수많은 자원을 포하하는 개념. 종종 스케줄링의 대상이 되는 작업이라고 불리기도 함. Process 상태 전이 Dispatch (ready → running): 여러 프로세스들 중 한 프로세스를 선정하여 CPU에 할당 Time Run Out (running → ready): 할당된 시간이 지나면 Timeout Interrupt Event Wait (running → waiting): I/O 입출력 발생 Wake-Up (waiting → ready): I/O 요청이 완료되면 ..
2023.02.26 -
TCP/UDP 통신과 HTTP 통신
HTTP 통신 Question을 물어보면 반드시 Answer이 돌아오는 비연결지향적인 단방향 통신 언제든 요청을 하면 그에 해당하는 답을 줌. TCP 통신 (Socket 통신) 1:1 통신 서로가 통신할 수 있는 상태를 먼저 인증을 하고 나서 통신을 하는 연결지향적인 양방향 통신. 서로에게 언제든 실시간으로 상태를 보낼 수 있으며, 받을 수도 있음. HTTP통신과는 다르게 Handshake라는 과정을 거치며 소켓을 각자 생성하여 서로에 대한 상태를 상시 확인할 수 있음. Question을 물어보면 Answer를 받을 수도 있고 못받을 수도 있음. 물어보지 않았는데 받을 수도 있음. 실시간 처리에서 많이 이용 UDP 통신 (Socket 통신) 1:N 통신 패킷 순서가 보장되지 않음. 중요하지 않은 데이터들..
2023.02.26 -
[프로그래머스/Kotlin]Level3 - 징검다리 건너기
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 카카오 초등학교의 "니니즈 친구들"이 "라이언" 선생님과 함께 가을 소풍을 가는 중에 징검다리가 있는 개울을 만나서 건너편으로 건너려고 합니다. "라이언" 선생님은 "니니즈 친구들"이 무사히 징검다리를 건널 수 있도록 다음과 같이 규칙을 만들었습니다. 징검다리는 일렬로 놓여 있고 각 징검다리의 디딤돌에는 모두 숫자가 적혀 있으며 디딤돌의 숫자는 한 번 밟을 때마다 1씩 줄어듭니다. 디딤돌의 숫자가 0이 되면 더 이상 밟을 수 없으며 이때는 그 다음 디딤돌로 한번에 여러 칸을 건너 뛸 수 있습니다. ..
2023.02.26 -
[프로그래머스/Kotlin]Level3 - 합승 택시 요금
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 밤늦게 귀가할 때 안전을 위해 항상 택시를 이용하던 무지는 최근 야근이 잦아져 택시를 더 많이 이용하게 되어 택시비를 아낄 수 있는 방법을 고민하고 있습니다. "무지"는 자신이 택시를 이용할 때 동료인 어피치 역시 자신과 비슷한 방향으로 가는 택시를 종종 이용하는 것을 알게 되었습니다. "무지"는 "어피치"와 귀가 방향이 비슷하여 택시 합승을 적절히 이용하면 택시요금을 얼마나 아낄 수 있을 지 계산해 보고 "어피치"에게 합승을 제안해 보려고 합니다. 위 예시 그림은 택시가 이동 가능한 반경에 있는 ..
2023.02.26 -
[프로그래머스/Kotlin]Level3 - 섬 연결하기
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 n개의 섬 사이에 다리를 건설하는 비용(costs)이 주어질 때, 최소의 비용으로 모든 섬이 서로 통행 가능하도록 만들 때 필요한 최소 비용을 return 하도록 solution을 완성하세요. 다리를 여러 번 건너더라도, 도달할 수만 있으면 통행 가능하다고 봅니다. 예를 들어 A 섬과 B 섬 사이에 다리가 있고, B 섬과 C 섬 사이에 다리가 있으면 A 섬과 C 섬은 서로 통행 가능합니다. 제한사항 섬의 개수 n은 1 이상 100 이하입니다. costs의 길이는 ((n-1) * n) / 2이하입니다..
2023.02.26