본문 바로가기

CS10

프로그래머스 - 문자열 압축 [Java] https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이이 문제의 핵심은 문자열을 정해진 길이만큼 잘라 내는 것이다. 자바에서는 이것을 substring() 메서드를 사용하여 쉽게 구현 가능하다. 압축했을 때 가장 짧은 문자열의 길이를 구해야 하는데, 이는 모든 길이에 대하여 압축을 시도한 후 그 중 가장 짧은 길이를 선택하면 된다. 이를 바탕으로 다음과 같이 작성할 수 있다. 문제 풀이 흐름1부터 입력 문자열 s의 길이만큼 자를 문자열의 길이를 설정하며 반복설정된 길이만큼 문자열을 잘라 낸.. 2025. 3. 26.
프로그래머스 - 이상한 문자 만들기 [Java] https://school.programmers.co.kr/learn/courses/30/lessons/12930 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 풀이 흐름문자열의 모든 문자에 대해 반복문자가 공백 문자일 경우그대로 이어 붙이기다음 등장하는 알파벳은 대문자공백 문자가 아닌 경우대 소문자 변환하여 이어 붙이기다음 등장하는 알파벳의 대 소문자는 현재 변환하는 문자와 반대구성한 문자열 반환코드 작성문자열의 각 문자가 공백인지 알파벳인지 구분하고 각 단어의 몇 번째 문자인지에 따라 대문자 혹은 소문자로 변환해야 한다. 1. 문자열의 모든 문자에 대해 반복다음과 같이 문자열 구성을 위한 St.. 2025. 3. 21.
프로그래머스 - 시저암호 [Java] https://school.programmers.co.kr/learn/courses/30/lessons/12926?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 풀이 흐름입력 문자열의 모든 문자에 대해 반복알파벳이 아닌 경우 문자를 그대로 이어 붙이기알파벳인 경우 n만큼 밀어 이어 붙이기 코드 작성1. 입력 문자열의 모든 문자에 대해 반복 입력받은 문자열을 순회하며 문자를 하나씩 이어 붙여야 하므로 StringBuilder를 사용해 다음과 같이 구성한다.  char[] arr = s.toCharArray();StringBuilder builder = new StringBu.. 2025. 3. 19.
프로그래머스 - 거리두기 확인하기 [Java, Javascript] https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명개발자를 희망하는 죠르디가 카카오에 면접을 보러 왔습니다.코로나 바이러스 감염 예방을 위해 응시자들은 거리를 둬서 대기를 해야하는데 개발 직군 면접인 만큼아래와 같은 규칙으로 대기실에 거리를 두고 앉도록 안내하고 있습니다.대기실은 5개이며, 각 대기실은 5x5 크기입니다.거리두기를 위하여 응시자들 끼리는 맨해튼 거리가 2 이하로 앉지 말아 주세요.단 응시자가 앉아있는 자리 사이가 파티션으로 막혀 있을 경우에는 허용합니다 5개의 대기실을.. 2025. 3. 18.
[응용 계층] SMTP, FTP, TELNET, DNS, SNMP 등이 존재한다. 세션 계층응용프로그램의 계층 간 통신을 제어하는 구조를 제공하기 위해 응용 프로그램 계층 사이의 접속을 설정, 유지, 종료 하는 역할데이터 단위: 메시지 NetBIOS는 네트워크에 있는 시스템 간에 지속적으로 통신하기 위해 세션 유지, 오류 감지와 복구 등을 처리 표현 계층데이터 표현의 차이를 해결하기 위해 서로 다른 형식으로 변환하거나 공통 형식을 제공하는 계층 표현 계층의 기능- 암호화- 압축- 코드 변환 응용 계층응용 계층 기능- 파일 접근 및 전송- 메일 서비스 프로토콜프로토콜 별 포트번호 - FTP(21 PORT 서버 포트 번호, 20 port는 데이터 전송) 인터넷에서 파일을 전송하는 기본 프로토콜- HTTP(80 PORT)1.. 2024. 12. 15.
[MST] N개의 핀을 두개씩 연결하기 위해서는 N-1개의 선이 필요하다. 여기서 방향이 없는 그래프 G = (V, E)가 사용되며 V는 핀의 집합, E는 핀 쌍의 가능한 연결 집합이다. 그리고 각 edge(u,v)는 E에 포함된다. 가중치(w)s는 u와v를 연결하는 데 드는 비용을 나타낸다. MST의 목표는 모든 노드를 연결할 때(비순환) 총 비용이 가장 적은 순환을 찾는 것이다.그래프 T는 비순환적이고 모든 정점을 연결하므로, 이는 하나의 트리를 형성하게 된다. 이는 그래프 G를 "포괄(spans)"하기 때문에 스패닝 트리(spanning tree)라고 부른다. T를 결정하는 문제를 우리는 최소신장 트리 문제로 부르기로 하였다.다음 그림은 연결된 그래프와 최소신장 트리 문제의 예시를 보여준다.이 챕터에서 우리는.. 2024. 12. 15.