2021/05

    [프로그래머스] 카펫

    https://programmers.co.kr/learn/courses/30/lessons/42842?language=swift# 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 카펫의 테두리 개수와 전체 - 테두리 개수를 알 때, 직사각형의 크기를 구하는 문제이다. 예를 들어 brown = 10, yellow = 2이 주어졌을 때, [4x3] 이라고 출력할 수 있어야 한다. (조건. 가로의 길이가 세로의 길이보다 크거나 같다.) 문제는 완전 탐색이지만, 수학적으로 접근해볼 수 있을 것 같았다. 즉 테두리..

    [Network] Application Layer 어플리케이션 2

    http://www.kocw.net/home/cview.do?mty=p&kemId=1169634 이전 내용을 살짝 복기해보고 시작하자. Application Layer Transport Layer Network Layer Link Layer Physical Layer Transport Layer : TCP와 UDP가 대표적이다 프로토콜로서 Application Layer에게 기본적인 서비스 기능들은 해준다. 멀티플렉싱 에러 체킹 TCP는 UDP보다 조금 더 다양한 기능을 갖고 있는데 오늘 중요하게 볼 TCP의 특성은 reliable이다. Reliable하다는 것은 Application Layer에서 내려온 메시지가 하나도 유실되지 않고 에러없이 receiver에게 잘 전달된다는 것을 의미한다. 하지만 하..

    [프로그래머스] 프렌즈4블록

    programmers.co.kr/learn/courses/30/lessons/17679?language=swift 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr 딱 봤을 때, 2X2 애니팡 같은 느낌이다..! 2x2블록의 구성 요소들이 모두 같다면 터지고, 위에 원소들이 내려오는 형태이다. 여기서 보면 라이언으로 이루어져 있는 블록 2개, 콘 블록 1개가 지워지게 된다. 중간 블록들이 지워지게 되면서 위에 위치한 블록들은 자연스레 내려와줘야 한다. 여기서 한 번 더 검사를 해서 더 터..

    [Network] Application Layer 어플리케이션 1

    www.kocw.net/home/cview.do?mty=p&kemId=1169634 컴퓨터네트워크 인터넷을 동작시키는 컴퓨터네트워크 프로토폴을 학습한다. www.kocw.net 전송 단위 Message : Application Layer에서 만들어진 데이터 단위 Segment : message가 Transport Layer으로 내려왔을 때 부르는 전송단위 Packet : Transport Layer에서 Network Layer로 내려왔을 때 부르는 전송단위 소켓이란? Socket? 네트워크상 동작하는 프로그램 사이 통신의 종착점이다. API의 일종이라고 봐도 된다. 데이터를 통신하는 것이기에 client, server 모두 소켓이 있어야 한다. (프로세스 간의 통신) TCP socket과 UDP sock..

    [프로그래머스] 보석 쇼핑

    programmers.co.kr/learn/courses/30/lessons/67258?language=swift 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 레벨 3에 해당하는 문제. 처음에는 그냥 시도해서 실패 > 투 포인터 개념 학습 후 도전 > 정확성은 다 맞으나 효율성 0점 > 문제의 원인? 배열! > 배열을 딕셔너리로 바꿔서 체크해줌 > 통과 자 이제 문제를 봐보자. 주어진 배열 내에서 유니크한 모든 원소들을 포함하는 구간을 만든다고 했을 때 가장 짧은 구간을 구하면 된다. 구할 때에 동일하게 짧은 구간이 있다면 시작 지점이 더 빠른 것을 반환..

    [프로그래머스] 오픈채팅방

    programmers.co.kr/learn/courses/30/lessons/42888?language=swift 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 오픈채팅방에서 입장/퇴장한 이름을 최종 이름으로 변경해주면 되는 문제 A가 들어왔습니다 B가 들어왔습니다 A가 나갔습니다. C가 들어왔습니다. (나갔던 A) 이 경우 위처럼이 아닌 C가 들어왔습니다 B가 들어왔습니다 C가 나갔습니다. C가 들어왔습니다. 처럼 보여져야한다. 또한 기존의 A,B가 닉네임을 중복으로 바꿔도 고유의 ID가 존재하기 때문에 ..