본문 바로가기

Algorithm

(2139)
(C++) - 백준(BOJ) 24723 : 녹색거탑 https://www.acmicpc.net/problem/24723 24723번: 녹색거탑 Naver D2를 아시나요? D2는 For Developers, By Developers의 약자로, 개발자들을 위해 개발자들이 직접 만들어 가고 있는 네이버 개발자 지원 프로그램입니다. 네이버가 축적한 기술과 지식을 공유하고, 외 www.acmicpc.net 공식을 찾아 정답을 출력하는 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 거탑 높이 n을 선언 후 입력받습니다. 📔 풀이과정 높이가 1증가할때마다 각 칸에서 아래로 내려갈 수 있는 경우가 2가지씩 증가하는 규칙을 발견할 수 있습니다. 결국 전체 경우의 수는 2배씩 증가하는 특징을 가집니다. 📔 정답출력 1을 n bit만큼 왼쪽으로 이동한 결과를 출력합니다. ..
(C++) - 백준(BOJ) 9237 : 이장님 초대 https://www.acmicpc.net/problem/9237 9237번: 이장님 초대 입력은 두 줄로 이루어져 있다. 첫째 줄에는 묘목의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄에는 각 나무가 다 자라는데 며칠이 걸리는지를 나타낸 ti가 주어진다. (1 ≤ ti ≤ 1,000,000) www.acmicpc.net greedy문제였습니다. 📕 풀이방법 📔 입력 및 초기화 묘목의 수 n, 이장님 만나는 날 meetDay, 묘목 자라는데 걸리는 시간을 저장할 vector형 변수 growDay를 선언 후 적절히 입력해줍니다. 📔 풀이과정 자라는데 오래걸리는 묘목은 최대한 빨리 심어야 합니다. 따라서 growDay를 내림차순으로 정렬해줍니다.1. growDay에 대해 for loop를 수..
(C++) - 백준(BOJ) 14913 : 등차수열에서 항 번호 찾기 https://www.acmicpc.net/problem/14913 14913번: 등차수열에서 항 번호 찾기 k가 몇 번째 항인지 출력한다. 만약, k가 주어진 a와 d로 만들어진 등차수열의 수가 아니면 "X"를 출력한다. www.acmicpc.net brute force로 해결한 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 초항 a, 공차 d, 찾는 수 k, 정답 ans, 찾았는지 여부 isValid를 선언한 후 적절히 입력받습니다. 📔 풀이과정 1. for loop를 수행하며 각 항에서 등차수열의 공식을 적용합니다. 2. 찾았다면 isValid를 true, 그 때의 항을 ans에 저장해주고 loop를 break해줍니다. 📔 정답출력 isValid가 참이면 ans를 출력해주고 아니면 X를 출력합니다...
(C++) - 백준(BOJ) 13301 : 타일 장식물 https://www.acmicpc.net/problem/13301 13301번: 타일 장식물 대구 달성공원에 놀러 온 지수는 최근에 새로 만든 타일 장식물을 보게 되었다. 타일 장식물은 정사각형 타일을 붙여 만든 형태였는데, 한 변이 1인 정사각형 타일부터 시작하여 마치 앵무조개 www.acmicpc.net 피보나치 수열을 구현하고 이를 응용해 푼 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 항 n, 정답 ans, 피보나치 수열을 저장할 일차원 배열 fibo를 선언한 후 n에 입력받습니다. 📔 풀이과정 *n이 80까지이므로 해당 피보나치 수열 값을 구할 경우 2300조 정도로 int범위를 초과할 수 있습니다. long long으로 변수들을 선언해 줘야 합니다. x항의 피보나치 수열값을 반환하는 재귀함..
(C++) - 백준(BOJ) 11576 : Base Conversion https://www.acmicpc.net/problem/11576 11576번: Base Conversion 타임머신을 개발하는 정이는 오랜 노력 끝에 타임머신을 개발하는데 성공하였다. 미래가 궁금한 정이는 자신이 개발한 타임머신을 이용하여 500년 후의 세계로 여행을 떠나게 되었다. 500년 후의 www.acmicpc.net 진법변환해 답을 저장할 자료구조를 적절히 선택하는 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 1. 진법 a, 진법 b, a를 구성하는 10진수로 표현된 수의 개수m, 개수를 저장할 vector nums, 정답을 출력할 stack ans를 선언 후 적절히 입력받습니다. 2. m만큼 for loop를 수행하며 nums에 수들을 입력받고 저장합니다. 📔 풀이과정 함수 convert..
(C++) - 백준(BOJ) 3135 : 라디오 https://www.acmicpc.net/problem/3135 3135번: 라디오 첫 줄엔 정수 A와 B가 주어진다 (1 ≤ A, B b로 주파수를 1씩 증가 또는 감소시켜 도달 2. a -> 즐겨찾..
(C++) - 백준(BOJ) 20540 : 연길이의 이상형 https://www.acmicpc.net/problem/20540 20540번: 연길이의 이상형 졸업을 앞둔 연길이는 크리스마스가 다가올수록 외로움을 느낀다. 그런 연길이를 위해 동우는 소개팅을 시켜주지는 않고 연길이의 이상향을 찾는 것을 도와주고자 한다. MBTI 신봉자인 연길이는 www.acmicpc.net if문을 사용해보는 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 연길의 mbti, 정답을 출력할 변수 ans를 선언해줍니다. 이 후 mbti에 값을 입력받습니다. 📔 풀이과정 mbti size만큼 for loop를 수행합니다. 8개의 조건에 따라 답문자를 ans에 붙여줍니다. 📔 정답출력 ans를 출력합니다. 📕 Code #include using namespace std; string mbt..
(C++) - 백준(BOJ) 24365 : ПЧЕЛИЧКАТА МАЯ https://www.acmicpc.net/problem/24365 24365번: ПЧЕЛИЧКАТА МАЯ На три цветя, подредени в редица на разстояние през 1 метър, са кацнали пчели. На лявото цвете пчелите не са повече от тези на средното, а на ср www.acmicpc.net 구현 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 각 꽃의 꿀벌 수를 저장할 vector v, 정답을 출력할 변수 ans, 전체 꽃의 평균 avg를 선언 후 정보를 입력받습니다.가장 왼쪽 꽃을 0번, 중앙을 1번, 오른쪽을 2번 index로 생각해 vector에 first로는 꿀벌 수, second에는 꽃의 in..