본문 바로가기

C++6

BaekJoon 2606 : 바이러스 [C++] [silver4] 문제 링크 https://www.acmicpc.net/problem/2606 문제 설명 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결되어 있지 않기 때문에 영향을 받지 않는다. 어느 날 1번 컴퓨터가 웜 바이러스에 걸렸다. 컴퓨터의 수와 네트워크 상에서 서로 연결되어 .. 2022. 11. 22.
BaekJoon : 별 찍기 - 10 [C++] [Gold5] 문제 링크 https://www.acmicpc.net/problem/2447 문제 설명 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. *** * * *** N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)×(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다. 입력 첫째 줄에 N이 주어진다. N은 3의 거듭제곱이다. 즉 어떤 정수 k에 대해 N=3k이며, 이때 1 ≤ k < 8이다. 출력 첫째 줄부터 N번째 줄까지 별을 출력한다... 2022. 11. 15.
프로그래머스 : 여행경로 [C++] [Lv3] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/43164 문제 설명 1. 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다. 2. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 문제 입출력 예) tickets return [["ICN", "JFK"], ["HND", "IAD"], ["JFK", "HND"]] ["ICN", "JFK", "HND", "IAD"] [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["AT.. 2022. 11. 11.
프로그래머스 : 더 맵게 [C++] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42626 문제 설명 1. 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 2. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 3. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) 4. Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. 5. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때 6. .. 2022. 11. 9.
프로그래머스 : 소수 찾기 [C++] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12921 문제 설명 1. 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 2. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. 3. (1은 소수가 아닙니다.) 문제 입출력 예) n result 10 4 5 3 문제 풀이 문제를 어떻게 풀어야할지 생각하다가, 너무 비효율적인 풀이라서 문제풀이를 포기했었다,, 내가 생각한 문제풀이는 for문을 돌려서 그 내용이 0과 자기자신을 가진 소수인지 전부 비교하는 것이였다. 이것은 알고리즘이아니라, 누구나 풀 수 있는,,, 비효율적인,, 방안,,, 그래서 문제풀이를 찾아보고서 다시 문제를 풀.. 2022. 11. 3.
프로그래머스 : 숫자의 표현 [C++] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12924 문제 설명 자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요. 문제 입출력 예) n result 15 4 문제 풀이 연속된 자리수를 생각했기에, for문을 활용하였다. 이중 for문을 이용하여, 연속된 자리 수를 더해준다. 만약 n값보다 큰 값이 되면 break n값과 같은 같이면 answer ++를 해준다. #include #include #include using namespace std; int solution(int n) { int answer = 0; for(int i=0; i 2022. 10. 27.