본문 바로가기

분류 전체보기376

[프로그래머스 Level3] 단속카메라 (C++) https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 고속도로를 이동하는 모든 차량이 고속도로를 이용하면서 단속용 카메라를 한 번은 만나도록 카메라를 설치하려고 합니다. 고속도로를 이동하는 차량의 경로 routes가 매개변수로 주어질 때, 모든 차량이 한 번은 단속용 카메라를 만나도록 하려면 최소 몇 대의 카메라를 설치해야 하는지를 return 하도록 solution 함수를 완성하세요. 제한사항 차량의 대수는 1대 이상 10,000대 이하.. 2024. 2. 18.
[백준 26123] 외계 침략자 윤이 (C++) https://www.acmicpc.net/problem/26123 26123번: 외계 침략자 윤이 외계인 윤이는 지구를 정복하고자 세계의 중심 도시인 울산을 침략했다. 울산에는 $N$개의 빌딩이 일렬로 늘어서 있고, 왼쪽에서 $i$번째 건물의 높이는 hi이다. 윤이는 울산을 파괴하기 위해 www.acmicpc.net 문제 외계인 윤이는 지구를 정복하고자 세계의 중심 도시인 울산을 침략했다. 울산에는 N개의 빌딩이 일렬로 늘어서 있고, 왼쪽에서 i번째 건물의 높이는 ℎ이다. 윤이는 울산을 파괴하기 위해 다음과 같은 계획을 세웠다. 윤이는 매일 UFO를 타고 울산의 상공을 가르며 가장 높이가 높은 빌딩에 레이저를 발사할 것이다. 레이저에 맞은 빌딩은 높이가 1 낮아진다. 만약 그 날에 가장 높이가 높은 빌.. 2024. 2. 18.
(1) 네트워크 용어 및 패킷 -프로토콜: 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계. 둘 이상의 통신 개체 간에 교환되는 메시지 포맷, 순서뿐만 아니라 수신과 이벤트에 따른 행동들을 정의한다. -end system(종단 시스템): 인터넷의 가장자리에 위치한다. PC, 서버, 스마트폰, 태블릿 등이 속한다. 웹 브라우저 프로그램, 웹 서버 프로그램 등 애플리케이션을 수행하므로 호스트라고 부르기도 한다. 호스트는 다시 클라이언트와 서버로 나뉜다. -ISP(Internet Service Provider): 패킷 스위치와 통신 링크로 이루어진 네트워크. 종단 시스템이 인터넷을 사용하기 위해서 필요하다. -forwarding(=switching): 전달받은 패킷을 라우터의 output link로 옮기는 것. .. 2024. 2. 18.
[백준 2252] 줄 세우기 (C++) https://www.acmicpc.net/problem/2252 2252번: 줄 세우기 첫째 줄에 N(1 ≤ N ≤ 32,000), M(1 ≤ M ≤ 100,000)이 주어진다. M은 키를 비교한 회수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의 www.acmicpc.net 문제 N명의 학생들을 키 순서대로 줄을 세우려고 한다. 각 학생의 키를 직접 재서 정렬하면 간단하겠지만, 마땅한 방법이 없어서 두 학생의 키를 비교하는 방법을 사용하기로 하였다. 그나마도 모든 학생들을 다 비교해 본 것이 아니고, 일부 학생들의 키만을 비교해 보았다. 일부 학생들의 키를 비교한 결과가 주어졌을 때, 줄을 세우는 프로그램을 작성하시오. 입력.. 2024. 2. 17.
[STL] C++ list(리스트) 간단 정리 STL의 sequence container 중 list이다.double linked list를 구현할 때 사용하면 편리하다. -헤더list#inlcude   -선언list 변수 이름list ls; -원소 참조반복자로만 접근 가능 (at, [index] 사용 x) -멤버 함수begin(): 리스트의 맨 앞을 가리키는 iterator를 반환한다.end(): 리스트의 맨 끝 원소의 다을 가리키는 iterator를 반환한다.size(): 리스트의 크기를 반환한다.push_front(E element): 리스트의 맨 첫번째에 element를 삽입한다.push_back(E element): 리스트의 맨 끝에 element를 삽입한다.pop_front(): 리스트 맨 첫번째 원소를 제거한다.pop_back():리스트.. 2024. 2. 16.
[백준 4179] 불! (C++) https://www.acmicpc.net/problem/4179 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문자 www.acmicpc.net 문제 지훈이는 미로에서 일을 한다. 지훈이를 미로에서 탈출하도록 도와주자! 미로에서의 지훈이의 위치와 불이 붙은 위치를 감안해서 지훈이가 불에 타기전에 탈출할 수 있는지의 여부, 그리고 얼마나 빨리 탈출할 수 있는지를 결정해야한다. 지훈이와 불은 매 분마다 한칸씩 수평또는 수직으로(비스듬하게 이동하지 않는다) 이동한다. 불은 각 지점에서 네 방향으로 확산된다. 지훈이는 미로의 가장.. 2024. 2. 16.
[백준 1644] 소수의 연속합 (C++) https://www.acmicpc.net/problem/1644 1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net 문제 하나 이상의 연속된 소수의 합으로 나타낼 수 있는 자연수들이 있다. 몇 가지 자연수의 예를 들어 보면 다음과 같다. 3 : 3 (한 가지) 41 : 2+3+5+7+11+13 = 11+13+17 = 41 (세 가지) 53 : 5+7+11+13+17 = 53 (두 가지) 하지만 연속된 소수의 합으로 나타낼 수 없는 자연수들도 있는데, 20이 그 예이다. 7+13을 계산하면 20이 되기는 하나 7과 13이 연속이 아니기에 적합한 표현이 아니다. 또한 한 소수는 반드시 한 번만 덧셈에 사용될 수 있기 때문에, 3+5+.. 2024. 2. 15.
[백준 2169] 로봇 조종하기 (C++) https://www.acmicpc.net/problem/2169 2169번: 로봇 조종하기 첫째 줄에 N, M(1≤N, M≤1,000)이 주어진다. 다음 N개의 줄에는 M개의 수로 배열이 주어진다. 배열의 각 수는 절댓값이 100을 넘지 않는 정수이다. 이 값은 그 지역의 가치를 나타낸다. www.acmicpc.net 문제 NASA에서는 화성 탐사를 위해 화성에 무선 조종 로봇을 보냈다. 실제 화성의 모습은 굉장히 복잡하지만, 로봇의 메모리가 얼마 안 되기 때문에 지형을 N×M 배열로 단순화 하여 생각하기로 한다. 지형의 고저차의 특성상, 로봇은 움직일 때 배열에서 왼쪽, 오른쪽, 아래쪽으로 이동할 수 있지만, 위쪽으로는 이동할 수 없다. 또한 한 번 탐사한 지역(배열에서 하나의 칸)은 탐사하지 않기로.. 2024. 2. 14.
유니티 저장 시스템 구현 (Json 파일 이용) 데이터 직렬화 Json 파일을 이용해 데이터를 저장하고 불러오기 위해서는 데이터의 직렬화가 필요하다. 직렬화란 데이터 구조나 오브젝트를 저장하고 나중에 재구성할 수 있는 포맷으로 변환하는 과정이라고 한다. c#에서는 다음과 같이 System에 있는 [Seializable]을 사용한다. using System.Collections; using System.Collections.Generic; using UnityEngine; using System; [Serializable] public class playerData : MonoBehaviour { public static playerData instance; public string nickname; public int rank; public int E.. 2024. 2. 14.