Cute Blue Flying Butterfly
본문 바로가기

전체 글87

C++ : narrowing conversion(축소 변환) Narrowing Conversion? 더 큰 범위나 정밀도를 가진 타입의 값을 더 작은 범위나 정밀도를 가진 타입으로 바꾸는 것을 말한다. 예를 들면, float 값에 해당하는 3.141592...를 int형으로 형변환하면 소수점을 손실한다. 이를 축소 변환이라고 한다.반대로, 확장 변환도 있다. Widening Conversion은 작은 정밀도를 가진 타입의 값을 큰 타입으로 바꾸는 것이다. Risk? 1. 데이터 손실 위험- 값이 표현 범위를 초과하면 잘리거나 오버플로우가 발생한다.- 소수점이 버려지거나 근사치로 변환된다2. 안전하지 않은 변환- widening conversion(확장 변환)과 달리 비트를 잘라버리는 것과 같아서 안전치 않다 C++ 버전에 따른 리스크 대응 C++08까지는 모든.. 2025. 9. 6.
[C++] 1504. 특정한 최단 경로 (ft.Djikstra) 출처https://www.acmicpc.net/problem/1504  문제방향성이 없는 그래프가 주어진다. 세준이는 1번 정점에서 N번 정점으로 최단 거리로 이동하려고 한다. 또한 세준이는 두 가지 조건을 만족하면서 이동하는 특정한 최단 경로를 구하고 싶은데, 그것은 바로 임의로 주어진 두 정점은 반드시 통과해야 한다는 것이다.세준이는 한번 이동했던 정점은 물론, 한번 이동했던 간선도 다시 이동할 수 있다. 하지만 반드시 최단 경로로 이동해야 한다는 사실에 주의하라. 1번 정점에서 N번 정점으로 이동할 때, 주어진 두 정점을 반드시 거치면서 최단 경로로 이동하는 프로그램을 작성하시오.입력첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째.. 2025. 1. 27.
[리눅스 마스터 1급] 실습 환경 구축하기(VirtualBox, Rocky 8.9) Why?사실 난 이미 리눅스 마스터 2급을 취득했다. 면접에서도 리눅스 마스터 2급과 관련해서 물어보셨다!!그런데, 벼락치기로 공부했다보니 면접에서 대답을 못했다. 당연하다. 리눅스 환경에서 실습한번 안해봤으니...ㅎㅎ그래서 이번에는 진짜 공부 안하면 못따는 1급으로 도전하기로 결정했다!!!! 2급 후기는 여기에...https://jordancancode.tistory.com/14 리눅스 마스터 2급 후기 - 일주일 벼락치기, 공부 방법이번에는 리눅스 마스터 2급 후기다. 요즘에는 벼락치기의 장인이 되어가는 것 같다. 후후..🫠가채점 결과 실기까지 합격이다. 발표일을 앞두고 잊지 않기 위해 후기를 작성해둔다... 왜 했는가jordancancode.tistory.com 이전에는 CentOS를 사용했다고 .. 2025. 1. 24.
[C++] 1655. 가운데를 말해요 (ft.Priority Queue) 출처https://www.acmicpc.net/problem/1655  문제백준이는 동생에게 "가운데를 말해요" 게임을 가르쳐주고 있다. 백준이가 정수를 하나씩 외칠때마다 동생은 지금까지 백준이가 말한 수 중에서 중간값을 말해야 한다. 만약, 그동안 백준이가 외친 수의 개수가 짝수개라면 중간에 있는 두 수 중에서 작은 수를 말해야 한다.예를 들어 백준이가 동생에게 1, 5, 2, 10, -99, 7, 5를 순서대로 외쳤다고 하면, 동생은 1, 1, 2, 2, 2, 2, 5를 차례대로 말해야 한다. 백준이가 외치는 수가 주어졌을 때, 동생이 말해야 하는 수를 구하는 프로그램을 작성하시오.입력첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자.. 2025. 1. 21.
[C++] 2667. 단지 번호 붙이기 출처https://www.acmicpc.net/problem/2667  문제과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오.입력첫 번째 줄에는 지도의 크기 N(정사각형이므로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고, 그 다음 N줄에는 각각 N개의 자료(0혹은 1)가 입.. 2025. 1. 16.
[C++] BOJ 11650. 좌표 정렬하기 (feat. std::endl & \n) 출처https://www.acmicpc.net/problem/11650   문제2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오.입력첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 출력첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다.  풀이사실 문제를 푸는데 여러 시도를 했다. 첫번째 시도로, 유선순위 큐를 활용한 풀이다.#include using namespace std;int main() { ios:.. 2025. 1. 7.