목록Brute Force Algorithm (40)
기록방
👉 문제링크 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net 🔸 문제 분석 🔸 땅 고르기 작업의 최소시간이며 가장 높이가 높은 상태의 시간과 높이를 출력한다. 🔸 코드 🔸 # python3 : 시간초과 , pypy3 : 통과 import sys n, m, b = map(int, sys.stdin.readline().split()) arr = [list(map(int, sys.stdin.readline().split())) for _ in range(n)] answer = sys.maxsize index = 0..
👉 문제링크 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 🔸 문제 분석 🔸 각 입력마다 덩치 등수를 출력한다. 덩치 등수는 '자기보다 덩치가 큰 인원의 수 + 1' 등이다. 덩치는 몸무게, 키 모두 커야 큰 것이다. 선택 정렬과 같은 방식인 것 같다. 🔸 코드 🔸 N = int(input()) arr = [] for i in range(N): arr.append(list(map(int,input().split()))) answer = [1] * len(arr) for i in range(len..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 완전탐색 문제이다. 지갑의 너비의 최소값으르 구하는 문제인데, 명함을 회전시킬 수 있으므로 가로, 세로가 중요하지 않다. 🔸 코드 🔸 class Solution { public int solution(int[][] sizes) { int row = 0, col = 0; for(int s[] : sizes){ int big = s[0] > s[1] ? s[0] : s[1]; int small = s[0] > s[1] ? s[1] : s[0]; if(big > row) row = b..
👉 문제링크 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 🔸 문제 분석 🔸 분해합 N : 자연수 M과 그 M의 자릿수를 각각 더해서 나오는 수 >> M은 N의 생성자 생성자가 없는 경우를 생각하다가 1~10의 생성자는 무조건 2배이고 짝수라는 걸 깨달았다. 생성자는 분해합보다 항상 1이상 작은 것 같으니 1부터 입력된 자연수 까지 증가시키며 분해합을 해보면 될 것 같다. 🔸 코드 🔸 #include #include using namespace std; int main(void)..
👉 문제링크 22351번: 수학은 체육과목 입니다 3 이환이의 선생님이 부른 두 정수 $A$와 $B$를 공백으로 구분하여 출력하라. 만약 가능한 답이 두 가지 이상이라면, 그중 $A$가 가장 작은 것을 출력하라. 이환이는 항상 정확한 답을 쓰기 때문에, www.acmicpc.net 🔸 문제 분석 🔸 문자열의 숫자 변환이 필요하다. A, B 모두 1~999 이므로 순서대로 입력했을때 1~2889 범위가 나오는 것 같다. 숫자의 자릿수는 1~3 이다. 🔸 코드 🔸 #include #include using namespace std; int main(void) { int A, B = 0, count, temp = 0, ac, len; string s; cin >> s; for (int i = 1, j; i