본문 바로가기
반응형

C++114

BOJ 10448 - 유레카 이론 / C++ 문제 링크 : https://www.acmicpc.net/problem/10448 10448번: 유레카 이론 프로그램은 표준입력을 사용한다. 테스트케이스의 개수는 입력의 첫 번째 줄에 주어진다. 각 테스트케이스는 한 줄에 자연수 K (3 ≤ K ≤ 1,000)가 하나씩 포함되어있는 T개의 라인으로 구성되어 www.acmicpc.net 풀이 자연수 k의 범위는 1000까지이고 삼각수의 공식은 n * (n + 1) / 2 이므로 44 * 45 / 2 = 990, 탐색 범위는 n = 44까지 하면 된다. 삼각수를 저장하는 vector를 하나 생성하여 1부터 44까지의 n * (n + 1) / 2 를 원소로 넣는다. 3중 반복문으로 삼각수들을 더하며 n을 만들 수 있는지 체크하는 함수도 생성해준다. n을 만들 .. 2023. 11. 26.
프로그래머스 - 바탕화면 정리 / C++ 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/161990?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 #include using namespace std; vector solution(vector wallpaper) { vector answer; int minX = 1e9, minY = 1e9, maxX = -1, maxY = -1; for (int i=0; i 2023. 3. 4.
프로그래머스 - 가장 가까운 같은 글자 / C++ 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문자열 s는 항상 소문자이므로 알파벳 배열을 26개만 선언해준다. 이 배열은 가장 최근에 나온 인덱스를 저장한다. 즉, alphabets[2] = 3는 가장 최근에 나온 c는 3번째 인덱스라는 것을 의미한다. -1은 나오지 않았음을 의미하며 초기에는 -1로 초기화한다. 이제 문자열의 크기만큼 for문을 돌며 알파벳이 나온 적이 없다면 answer 배열에 -1을 추가해주고 해당.. 2022. 12. 28.
프로그래머스 - 크기가 작은 부분 문자열 / C++ 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문자열의 길이가 10000이므로 정수로 변환해서 비교하는 것은 불가능하다. 따라서, p의 크기만큼 t를 잘라서 직접 비교한다. 우선 p와 t를 p의 크기만큼 자른 것이 일치하는지 확인하고 같다면 answer을 증가 시켜준 뒤 다음 인덱스로 넘어간다. 같지 않다면 한 자리씩 비교해나가며 p[j]보다 t[i + j]가 크다면 더 볼 필요 없이 t가 큰 값이므로 break 해주고 .. 2022. 12. 25.
반응형