전체 글

PS/백준

[백준] 5525 - IOIOI

5525번: IOIOI N+1개의 I와 N개의 O로 이루어져 있으면, I와 O이 교대로 나오는 문자열을 PN이라고 한다. P1 IOI P2 IOIOI P3 IOIOIOI PN IOIOI...OI (O가 N개) I와 O로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 PN이 몇 www.acmicpc.net ✏️ 풀이 처음에는 파이썬을 활용해서 슬라이싱윈도우를 통해서 일정 구간을 잘라 일치하는지 풀었다. 하지만 그렇게 풀어서 채점을 하니 50점밖에 나올 수 없었다. 그래서 고민을 했는데 도저히 모르겠어서 아이디어를 구했다. 반복문을 통해서 "IOI"패턴을 체크하는 방법이다. 처음에 IOI를 체크하고 그 다음 패턴들도 확인을 했다. 패턴의 갯수가 처음 입력한 N과 동일할 시에 cnt를 높혔다. 그리고..

PS/백준

[백준] 2589 - 보물섬

2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 www.acmicpc.net ✏️ 풀이 가장 먼 거리를 구하는것이 이 문제의 핵심이였다. 하지만 한 지점에서만 구하는 것이 아니라 L있는 부분에서 가장 먼거리라서 2중 for문을 통해서 브루트 포스를 통해서 모든 거리를 구해 그중에 가장 먼 거리를 출력하는 것이다. 이번 문제는 c++를 익히기 위해서 두가지 언어로 풀었다. 처음에는 파이썬으로 풀어서 해결방법을 찾고, 그걸 바탕으로 c++을 이용해서 코드를 작성했다. 💻 코드 import sys from collections import deq..

PS/프로그래머스

Lv0 l로 만들기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr transform을 활용해서 바로 풀어봤다. #include #include using namespace std; string solution(string myString) { transform(myString.begin(), myString.end(), myString.begin(),[](char x) { return (x < 'l') ? 'l' : x; }); return myString; } 저번에는 transform이 이런거다 라고만 알았는데, 쓸려면 확실히 알아야했다. 그래서 GPT에게 정확한 람다식..

PS/프로그래머스

Lv0 조건에 맞게 수열 변환하기 3

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 평소에 파이썬과 js를 사용해서 풀다가 C++을 배워야할거 같아서 이번문제는 C++을 이용해서 풀었다. 문제가 쉬운거라 간단하게 풀 수 있었다. #include #include using namespace std; vector solution(vector arr, int k) { vector answer; if (k%2){ for(int i = 0; i

Lab/무선 이동 통신

3. Mobile radio propagation

Speed, Wavelength, Frequency Light speed(c) = Wavelength(𝜆) * Frequency(f) = 3*10^8m/s → c = 𝜆*f Types of Waves Transmitter -> Ground Wave -> Receiver (송신기 -> 지상파 -> 수신기): Propagation Path (전파 경로): 일반적으로, 지상파(Ground Wave)는 송신기에서 발생한 전파가 지표면을 따라 지상으로 전파되는 경로를 나타냅니다. Characteristics (특징): 이 경로에서는 전파가 지표면과 교호작용하며 지면과 따라가거나 지면에서 반사되어 수신기까지 도달합니다. 일반적으로 짧은 거리 통신에 사용됩니다. Troposphere (토르포스피어): Waves Ty..

Lab/무선 이동 통신

2. Emerging Wired&Mobile Networks

Intro 무선 인터넷에 연결되 기기 수가 유선 인터넷에 연결되 기기 수를 넘어섰다는 것은 2가지 중요한 도전과제를 의미합니다. 무선 통신 : 무선 링크를 통한 통신 이동성 : 네트워크 접속 지점을 변경하는 이동 사용자 처리 무선 기술 셀룰러 : 셀룰러 기술은 이동 통신을 지원하며, 휴대전화와 같은 무선 기기가 셀 타워를 통해 통신합니다. 무선 LAN/PAN (근거리 및 개인 네트워크) : 무선 LAN은 IEEE 802.11을 사용하여 지역 네트워크를 구축하는 기술을 나타냅니다. 그리고 무선 PAN은 Bluetooth와 같은 기술을 사용하여 개인 영역의 작은 규모 네트워크를 구성합니다. GPS (전역위치결정시스템) : GPS는 위성을 기반으로 한 위치 결정 시스템으로, 전 세계적으로 위치를 정확하게 파악..

PS/백준

[백준] 5430 - AC

5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net ✏️ 풀이 첫 번째 풀이 처음 문제를 풀었을 때, 마지막에 D, 0, [] 입력이 주어진 경우를 제대로 하지 않아서 Value error가 발생했다. 두 번째 풀이 RR이 나온경우에는 배열이 그대로라서 문자열 메서드의 replace를 통해서 RR을 지우고, 반복문을 통해서 진행을 했다. 그런데 생각해보니 replace의 시간 복잡도를 몰랐는데, n보다 더 많이 걸려서 그냥 반복문으로 처리했다. 결국 문제에서 주어진 R, D연산을 반복문을 통해서 진행했다. 뭔가 문제에서 이걸 원하는게 아닐거 같은데?라는 생각과 함께 ..

PS/백준

[백준] 25418 - 정수 a를 k로 만들기

25418번: 정수 a를 k로 만들기 7(A), 8(연산 1), 9(연산 1), 18(연산 2), 19(연산 1), 38(연산 2), 76(연산 2), 77(연산 1)이 최소 연산이므로 정답은 7이다. www.acmicpc.net ✏️ 풀이 입력으로 a, k가 주어지는데 그냥 a를 k로 만드는 최소 연산 횟수를 출력하는 것이다. 최소, 최단 이런 단어가 보이면 이제는 바로 BFS로 풀면 되겠다는 생각을 한다. 뭐 아닐 수 도 있겠지만, 그건 많이 풀어보면 BFS구나, 아니구나를 판단할 수 있을 것이라고 믿는다. 큐에는 시작과 연산 횟수를 넣었다. 그렇게 연산을 하면 cnt를 증가 시키고, k에 도달하면 출력을 하고 끝을 낸다. BFS의 개념만 알면 금방 풀 수 있는 문제라서 쉽게 풀 수 있었다. 💻 코드..

jjw000628
wldnd2