[C++][백준][알고리즘] 브루트 포스 🎯
·
algorithms (C++)
브루트 포스는 모든 경우의 수를 다 해보는 것이다. 예를 들어, 비밀번호가 4자리이고, 숫자로만 이루어져 있다고 한다면 0000부터 9999까지 다 입력해보면 된다. 비밀번호 4자리의 경우의 수는 10,000가지 이다. 브루트 포스로 문제를 풀기 위해서는 다음과 같은 3가지 단계를 생각해볼 수 있다. 1. 문제의 가능한 경우의 수를 계산해본다. 2. 가능한 모든 방법을 다 만들어본다. 3. 각각의 방법을 이용해 답을 구해본다 경우의 수 N명의 사람이 한 줄로 서는 경우의 수 → N × (N-1) × … × 1 = N! N명의 사람 중에서 대표 두 명을 뽑는 경우의 수 → N × (N-1) / 2 N명의 사람 중에서 대표 세 명을 뽑는 경우의 수 → N × (N-1) × (N-2) / 3! N명의 사람 중..
[C++][백준][알고리즘] 최대공약수, 최소공배수, 소수 🎯
·
algorithms (C++)
최대 공약수는 Greatest Common Divisor으로 GCD라고 씁니다. 최소 공배수는 Least Common Multiple으로 LCM으로 씁니다. 2609번 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net #include /* [최대 공약수] 유클리드 호제법 알고리즘 1. 작은 수로 큰 수를 나눕니다. 2. 나머지가 0이 될 때까지 계속 나눕니다. 3. 나머지가 0이 되면, 해당 나누는 수가 두 수의 최대공약수가 됩니다. // 입력: 18, 24 먼저 24를 18로 나눕니다. 24 ÷ 18 = 1 ... 6 나머지가 0이 아니므로, 이제 18을 나머지로, 6을 나눕..
[C++][백준][알고리즘] 약수 🎯
·
algorithms (C++)
1037번 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 양수 A는 진짜약수(1과 자기 자신을 제외)한 값 중에서 최소값과 최대값을 서로 곱하면 자기 자신이 나옵니다. 17427번 17427번: 약수의 합 2 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더 www.acmicpc.net 틀린 코드 #incl..
[C++][백준][알고리즘] 나머지 연산 🎯
·
algorithms (C++)
10430번 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net 덧셈, 곱셉, 뺄셈에서는 다음과 같은 식을 성립합니다. (나머지는 불가능) (A+B) mod M = ((A mod M) + (B mod M)) mod M (4 + 7) % 3 = 11 % 3 = 2 (4 % 3 + 7 % 3) = (1 + 1) % 3 = 2 (A×B) mod M = ((A mod M) × (B mod M)) mod M (4 * 7) % 3 = 28 % 3 = 1 (4 % 3 * 7 % 3) = (1 * 1) % 3= 1 (A-B) mod M = ((A mod M) - (B mod M)) mod M (7 - 3) % 3 = 4 % 3 = 1 ..
[C++][백준 15649번] N과 M (1) ⭐
·
algorithms (C++)
15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 📄 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 📝 풀이 순열을 구하는 문제입니다. N개의 자연수 중 M개를 선택하여 모든 가능한 순서대로 배열하여 만들어야 합니다. ch는 인덱스 번호에 삽입한 자연수입니다. used는 해당 인덱스 번호를 사용하였는지 검사하기 위해 사용합니다. {1, 2}와 {2, 1}은 서로 다른 순열입니다. 이는 조..
[C++][프로그래머스] 양과 늑대 🔥
·
algorithms (C++)
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📄 문제 2진 트리 모양 초원의 각 노드에 늑대와 양이 한 마리씩 놓여 있습니다. 이 초원의 루트 노드에서 출발하여 각 노드를 돌아다니며 양을 모으려 합니다. 각 노드를 방문할 때 마다 해당 노드에 있던 양과 늑대가 당신을 따라오게 됩니다. 이때, 늑대는 양을 잡아먹을 기회를 노리고 있으며, 당신이 모은 양의 수보다 늑대의 수가 같거나 더 많아지면 바로 모든 양을 잡아먹어 버립니다. 당신은 중간에 양이 늑대에게 잡아먹히지 않도록 하면서 최대한 많은 수의 양을 모아서 다시 루트 노드로 돌아오려 합니다. 예를 들..
[C++][프로그래머스] 최고의 집합
·
algorithms (C++)
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📄 문제 자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 "집합"으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만족하면서 각 원소의 곱 이 최대가 되는 집합 예를 들어서 자연수 2개로 이루어진 집합 중 합이 9가 되는 집합은 다음과 같이 4개가 있습니다. { 1, 8 }, { 2, 7 }, { 3, 6 }, { 4, 5 } 그중 각 원소의 곱이 최대인 { 4, 5 }가 최고의 집합입니다. 집합의 원소의 개수 ..
[C++][프로그래머스] 네트워크(Union-Find)
·
algorithms (C++)
📄 문제 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. ❗️ 제한사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. 각 컴퓨터는 0부터 n-1인 정수로 표현합니다. i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 computer..
[C++][프로그래머스] 단어 변환
·
algorithms (C++)
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📄 문제 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 "hit", target가 "cog", words가 ["hot","dot","dog","lot","log","cog"]라면 "hit" -> "hot" -> "dot" -> "dog" -> "..
[C++][프로그래머스] 정수 삼각형
·
algorithms (C++)
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📄 문제 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요. ℹ️ 조건 삼각형의 높이는 1 이상 500 이하입니다. 삼각형을 이루고 있는 숫자는 0..
[유니티] Connect It
·
my portfolio
Connect It은 학창시절 공책 또는 태블릿에 그림을 그리며 시간을 떼웠던 기억을 떠올려 '필기' 컨셉으로 제작한 게임입니다. 이 게임은 타일에서 다양한 색상의 원을 인접한 같은 색상으로 연결지어 정해진 시도 횟수 안에 높은 점수를 기록하는것이 목표입니다. 글로벌 랭킹 시스템을 도입하여 자신의 실력을 확인하고, 동기를 부여하도록 디자인 하였습니다. 📜 게임 소개 게임 이름 플랫폼 개발 기간 개발 도구 Connect It (가제) 2024.02.20 ~ 개발 중 Unity 📺 미리 보기 📒 기타 정보 · 개발 중 현재 Connect It은 개발 중 게임입니다. 미리보기 영상은 24.02.20 기준이며, 디자인과 컨셉이 변경될 예정입니다.
[유니티] Rolling Orb
·
my portfolio
Rolling Orb는 작은 오브를 좌우로 이동시켜 아래에서 빠르게 올라오는 장애물을 피해 오랫동안 버티는 게임입니다. 휴대폰 화면의 좌우를 터치 또는 키보드의 방향키로 조작하는 매우 쉬운 게임이지만, 오브는 점점 빨라지며, 더욱 복잡한 형태의 모양이 나오게 됩니다. 개인 최고 기록을 갱신하여, 다른 친구들과 경쟁하세요. 📜 게임 소개 게임 이름 플랫폼 개발 기간 개발 도구 Rolling Orb 2024.02 (약 2주) Unity 📺 미리보기 📒 기타 정보 · itch.io itch.io에서 데스크톱 버전(MacOS, Windows)의 게임을 즐길 수 있습니다. Rolling Orb by Bonnate(PARK SEUNG GEUN) Rolling the orb to avoid obstacles and ..
[유니티] Persist it
·
my portfolio
Persist it은 휴대폰을 기울여 공을 꾸준히 이동시키는 게임입니다. 공을 떨어뜨리기위해 폭탄, 바람, 레이저 등 다양한 방해 요소가 시간이 지남에따라 강력해지며 플레이어의 공을 위협합니다. 플레이어는 이러한 방해를 공을 움직여 버티며 오랫동안 살아남아 세계 기록을 세우는것이 목표입니다. 공을 굴려 오래 버티세요! 📜 게임 소개 게임 이름 플랫폼 개발 기간 개발 도구 Persist it 7일 Unity 📺 미리 보기 작고 귀여운 축구공이 잔디밭에서 떨어지지 않을 것이라고 확신하시나요? 그렇다면, Persist It이 당신에게 딱 맞는 도전일지도 모릅니다! Persist It은 축구공을 잔디밭 위에서 떨어뜨리기 위해 다양한 방해를 해올 것입니다. Persist It은 휴대폰을 기울여 공을 꾸준히 이동시..
[유니티] Morph!
·
my portfolio
Morph!는 게임 속 월드에서 수많은 오브젝트들로 변신하여 서로 추격하거나, 조용히 숨는 등 자신만의 플레이 스타일을 통해 즐길 수 있는 캐주얼 게임입니다. 대학교 4학년에 C# 소켓 서버를 개발 후 온라인 게임을 위해 제작한 프로젝트로, 크로스플랫폼을 지원하여 Steam, AppStore, PlayStore에서 온라인으로 플레이가 가능합니다. 현재 스토어에서 심사를 받아 출시 대기중입니다. 📜 게임 소개 게임 이름 플랫폼 개발 기간 개발 도구 Morph! 2023.07 ~ 2024.02 Unity 📺 미리 보기 "Morph"는 여러 가지 플레이 스타일을 구축하여 즐기는 캐주얼 인디 게임으로, 주어진 세계에서 100개가 넘는 다양한 객체를 '소유'하여 다른 플레이어를 찾아 쫓거나 조용히 숨을 수 있습니..
[유니티] Mate
·
my portfolio
Mate는 대학교 3학년에 스토리가 완결되는 게임을 제작하고자 시작한 프로젝트입니다. 이 게임은 주인공인 학교폭력의 가해자가 피해자의 실종으로 자신이 저지른 잘못에 대해 극도의 불안감을 느껴 정신적으로 고통을 받으며 지내는것을 그린 게임입니다. 플레이어는 각종 환각과 악몽을 꾸며 더욱 지쳐가며 여러분은 학교폭력의 가해자인 주인공을 조종하며 게임을 이어 나갑니다. 생애 첫 스토리 완결 게임으로, Steam에 무료로 업로드를 하여 서비스하고 있습니다. 📜 게임 소개 게임 이름 플랫폼 개발 기간 개발 도구 Mate 2022.03 ~ 2022.07 Unity 📺 미리 보기 📒 기타 정보 · Steam Mate on Steam Mate is a third-person story-based game with a m..
[유니티] Sky & Shoe
·
my portfolio
Sky & Shoe는 ‘소라피리’ 기업에서 출판한 동화책 ‘배가 된 꽃신’의 원화을 활용하여 게임 제작 외주를 통해 개발한 게임입니다. 원화 이미지를 유니티의 쉐이더를 활용하여 2D 이미지 기반으로 구성된 3D 월드 컨셉으로 제작을 하였습니다. 이미지의 그림자와 심도가 표현되도록 개발하였으며, 동화책의 스토리를 재구성한 게임입니다. 📜 게임 소개 게임 이름 플랫폼 개발 기간 개발 도구 Sky & Shoe 2022.09 ~ 2023.01 Unity 📺 미리 보기 📒 기타 정보 · 프로젝트에 대하여 이 게임은 '배가 된 꽃신' 동화책의 원화를 이용하여 제작한 게임입니다. 프로젝트 매니저 2명, 게임 원화가 2명, 개발 1명으로 구성되었으며 게임 기획 및 클라이언트 개발을 담당하였습니다.
[유니티] Dragon Quest
·
my portfolio
Dragon Quest는 RPG 장르의 게임으로, 유니티 엔진을 사용하여 개발하였습니다. 플레이어가 다양한 환경에서 다양한 적과 싸우며 성장해나가는 모험을 담고 있습니다. 이 포트폴리오 게임에는 일반적인 RPG 게임에서 볼 수 있는 여러 요소들을 직접 구현하고 적용하였습니다. 📜 게임 소개 게임 이름 플랫폼 개발 기간 개발 도구 Dragon Quest 2022.08 ~ 2023.04 Unity 📺 미리 보기 📒 기타 정보 · 다운로드 [Portfolio] Dragon Quest by Bonnate(PARK SEUNG GEUN) RPG game portfolio made using Unity. bonnate.itch.io 이 게임은 itch.io의 별도로 지원을 받아 다운로드 받아 플레이할 수 있습니다. ..
[유니티] ZombieRun
·
my portfolio
ZombieRun은 대학교 3학년 2학기에 '게임엔진응용실습' 수업에서 진행한 게임 프로젝트입니다. 어두운 산 속에서 길을 잃은 당신은 도움을 청하기 위해 산 정상에 올라가야 합니다. 길을 따라가며 죽지 않고 이동하세요. 총을 사용하여 좀비를 죽이고 자신을 보호하세요. 주변을 탐색하여 총알을 획득하여 전투하거나, 좀비를 살펴 피해다닐 수 있습니다. 📜 게임 소개 게임 이름 플랫폼 개발 시간 개발 도구 ZombieRun 12시간 Unity 📺 미리 보기 📒 기타 정보 · 다운로드 ZombieRun by Bonnate(PARK SEUNG GEUN) It is a simple FPS game where you use a gun and avoid zombies to reach your destination. b..
[유니티] Tower Defense
·
my portfolio
Tower Defense는 대학교 3학년 2학기에 '게임엔진응용실습' 수업에서 진행한 게임 프로젝트입니다. 다가오는 적들이 미리 정해진 경로를 따라 목적지에 도달하기 전에 처치해야 하는 게임입니다. 적을 처치하여 돈을 벌고, 세 가지 유형의 타워를 구매하여 설치해 적을 공격할 수 있습니다. 점점 더 어려워지는 난이도속에서 오래 살아남으세요. 생명력이 0이 되면 게임이 종료됩니다. 📜 게임 소개 게임 이름 플랫폼 개발 시간 개발 도구 Tower Defense 4시간 Unity 📺 미리 보기 📒 기타 정보 · 다운로드 Tower Defense by Bonnate(PARK SEUNG GEUN) Simple Tower Defense Game! Windows and Android Support. bonnate.i..
[유니티] Space Invader
·
my portfolio
Space Invader는 대학교 3학년 2학기에 '게임엔진응용실습' 수업에서 진행한 게임 프로젝트입니다. 지정된 경로를 따라 전진하는 우주선을 조종하는 게임입니다. 마우스를 사용하여 총알을 발사하여 로켓과 적 항공기를 파괴하고, 장애물과 충돌하지 않고 목표 지점에 도달하는 것입니다. 적의 우주선이 공격할 기회를 갖기 전에 전략적으로 제거해야 합니다. 📜 게임 소개 게임 이름 플랫폼 개발 시간 개발 도구 Space Invader 8시간 Unity 📺 미리 보기 📒 기타 정보 · 다운로드 Space Invader by Bonnate(PARK SEUNG GEUN) Destroy rockets and enemy aircraft by firing bullets using your mouse! bonnate.it..
[유니티] Space Flight
·
my portfolio
'Space Flight'는 대학교 3학년 2학기에 '게임엔진응용실습' 수업에서 진행한 게임 프로젝트입니다. 이 게임은 우주선을 파괴하는 소행성의 충돌을 피하고, 위협적인 직선 로켓도 피해야 합니다. 더 오래 생존하고 더 멀리 여행할수록 점수가 높아집니다. 📜 게임 정보 게임 이름 플랫폼 개발 시간 개발 도구 Space Flight 4시간 유니티 📺 미리 보기 📒 기타 정보 · 다운로드 Space Flight by Bonnate(PARK SEUNG GEUN) Avoid collisions with asteroids! bonnate.itch.io itch.io에서 게임을 다운로드하여 플레이할 수 있습니다. Windows를 지원합니다.
[C# 서버] 소켓 서버 문서
·
server/socket server
C# 기반으로 제작한 소켓 서버의 문서입니다. 이 서버는 Unity 엔진을 위해 제작되었으며, 온라인 게임을 포함하여 시뮬레이션, 하드웨어 제어 등 다양한 분야에서 사용될 수 있습니다. HTML 삽입 미리보기할 수 없는 소스
[C#] MySqlConnector를 통해 DB와 통신하기
·
unity game modules
MySqlConnector 패키지를 이용하여 DB와 통신할 수 있습니다. static 메서드를 통해 별도의 인스턴스 없이 편리하게 접근하여 DB 쿼리를 작성할 수 있도록 구현합니다. 📺 미리 보기 💬 서론 '미리보기'에 나오는 영상은 Morph! 게임에서 사용자의 로그인을 하는 과정입니다. 작성한 'MySqlManager' 클래스는 서버에 구현되어있으며, 클라이언트는 서버를 통해 DB에 접근하는 방식입니다. 이렇게 구현한 이유는 MySQL에 접근하기위한 접속쿼리가 클라이언트 코드에 노출되지 않게 하기 위함입니다. 클라이언트의 디컴파일을 통해 리터럴이 노출되면 DB 자체가 공격을 받을 수 있기 때문입니다. 📖 구현 내용 MySqlManager에서는 Insert, Update 등을 수행할 수 있는 'Comm..
[유니티] Graphics device is null. 오류 해결
·
unity game modules
에디터에서는 괜찮지만, 빌드 후 실행 시 "Graphics device is null." 오류가 나타날 수 있습니다. 이 오류의 원인은 다양하지만, TMP를 서브스레드에서 제어할 경우 나타날 수 있습니다. 이를 해결하기위해 메인스레드에서 제어할 수 있도록 하는 기능을 구현하였습니다. 💬 서론 유니티 빌드 프로그램이 크래시가 난 후 player.log를 살펴보면 다음과같이 stacktrace와 함께 오류가 난 부분이 나타납니다. 이 함수가 호출되는 위치를 메인스레드에서 호출할 수 있도록 구현한 기능을 이용합니다. Graphics device is null. TMPro.TextMeshProUGUI:Awake() UiTab:ToggleLerp(Boolean, Single) PacketHandler:S_Ente..
[C++][백준 2579번] 계단오르기
·
algorithms (C++)
2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 📄 문제 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있다. 계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다...
[C++][백준 9095번] 1, 2, 3 더하기
·
algorithms (C++)
9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 📄 문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 📝 풀이 #include #include using namespace std; int main() { int dp[12]; dp[1] = 1; // 1 dp[2] = 2; // 1+1, 2 dp[3] = 4; // 1+1+1, 1+2, 2+1, 3 //dp[4] ..
[C++][백준 1463번] 1로 만들기 ⭐
·
algorithms (C++)
1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 📄 문제 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. 📝 풀이 #include #include #include using namespace std; vector dp(1000001); int main() { int N; cin >> N; dp[1] = 0; // bottom-up for (int i = 2; i
[C++][프로그래머스] 코딩 테스트 연습 🔥
·
algorithms (C++)
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📄 문제 당신은 코딩 테스트를 준비하기 위해 공부하려고 합니다. 코딩 테스트 문제를 풀기 위해서는 알고리즘에 대한 지식과 코드를 구현하는 능력이 필요합니다. 알고리즘에 대한 지식은 알고력, 코드를 구현하는 능력은 코딩력이라고 표현합니다. 알고력과 코딩력은 0 이상의 정수로 표현됩니다. 문제를 풀기 위해서는 문제가 요구하는 일정 이상의 알고력과 코딩력이 필요합니다. 예를 들어, 당신의 현재 알고력이 15, 코딩력이 10이라고 가정해보겠습니다. A라는 문제가 알고력 10, 코딩력 10을 요구한다면 A 문제를 풀 ..
[C++][프로그래머스] 등산코스 정하기
·
algorithms (C++)
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📄 문제 XX산은 n개의 지점으로 이루어져 있습니다. 각 지점은 1부터 n까지 번호가 붙어있으며, 출입구, 쉼터, 혹은 산봉우리입니다. 각 지점은 양방향 통행이 가능한 등산로로 연결되어 있으며, 서로 다른 지점을 이동할 때 이 등산로를 이용해야 합니다. 이때, 등산로별로 이동하는데 일정 시간이 소요됩니다. 등산코스는 방문할 지점 번호들을 순서대로 나열하여 표현할 수 있습니다. 예를 들어 1-2-3-2-1 으로 표현하는 등산코스는 1번지점에서 출발하여 2번, 3번, 2번, 1번 지점을 순서대로 방문한다는 뜻입니..
[C++][프로그래머스] 카운트 다운 🔥
·
algorithms (C++)
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📄 문제 프로그래머스 다트 협회에서는 매년마다 새로운 특수 룰으로 다트 대회를 개최합니다. 이번 대회의 룰은 "카운트 다운"으로 "제로원" 룰의 변형 룰입니다. "카운트 다운"은 게임이 시작되면 무작위로 점수가 정해지고, 다트를 던지면서 점수를 깎아서 정확히 0점으로 만드는 게임입니다. 단, 남은 점수보다 큰 점수로 득점하면 버스트가 되며 실격 합니다. 다음 그림은 다트 과녁입니다. 다트 과녁에는 1 부터 20 까지의 수가 하나씩 있고 각 수마다 "싱글", "더블", "트리플" 칸이 있습니다. "싱글"을 맞히..
bonnate