배움엔 끝이없다/알고리즘(12)
-
코딩테스트 스터디 - 프로그래머스 파괴되지 않은 건물(C++)
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/92344 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 요약 N * M 크기의 배열이 있다. 이 배열의 일부 직사각형 r1,c1 ~ r2,c2 에 모두 degree를 더하거나 빼는 연산이 정의되어있다. N,M 0 && r1 > 0) damage[(r1-1)*M + c1-1] += degree; } //대미지 합 계산 for(int i = N - 1; i >= 0; i--) { for (int j= M-1; j >= 0; j--) { if..
2023.11.16 -
코딩테스트 스터디 - 프로그래머스 금과 은 운반(python)
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/86053 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 요약 신도시를 짓기 위해 금 a만큼과 은 b만큼이 필요하다. 여러 도시에 있는 금과 은의 양, 그 도시의 금을 신도시로 운반하는 트럭의 용량과 속도가 주어진다. 도시들에 있는 금과 은을 모아 신도시를 짓기위해 필요한 최소 시간을 구하는 문제다. 의식의 흐름 일단 처음에 봤을 땐 뭔가 수식으로 풀릴 것 같았다. 하지만 머리를 싸매본 결과 도저히 계산을 할 수 없었다. 이런 문제는 최소..
2023.03.17 -
코딩테스트 스터디 - 프로그래머스 무인도 여행 (python)
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 요약 2차원 배열 지도에 X 혹은 1자리 숫자가 주어진다. 인접한 숫자들끼리는 하나의 섬을 이루는데, 섬마다 숫자 총 합을 구해 오름차순으로 정렬 후 반환하면 된다. 의식의 흐름 맵을 전부 탐색하면서 숫자를 발견하면, 그 위치에서 BFS나 DFS를 시작해 섬의 숫자 총 합을 구하면 된다. 맵을 복사해 보관해야한다는 등 메모리 복사를 할 일이 없어 BFS를 하기로 선택했다. 한 숫자..
2023.03.08 -
코딩테스트 스터디 - 프로그래머스 스타수열 (python)
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/70130 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 요약 아래 조건을 만족하는 가장 긴 부분 수열 (스타 수열)을 찾는 문제입니다. 1. 부분 수열은 원래 수열에서 원소를 몇개 제거해 얻을 수 있는 수열이다. 2. 수열의 길이가 짝수이고, {a0, a1}, {a1,a2}...의 교집합의 원소가 1개 이상이다. 즉, 2개마다 같은 숫자가 들어가있어야한다. 또, 두 개씩 짝지어진 숫자가 같은 숫자면 안된다. 의식의 흐름 일단 두 개씩 짝..
2023.02.28 -
코딩테스트 스터디 - 백준 25406번 : 식사 계획 세우기 (C++)
문제 링크 : https://www.acmicpc.net/problem/25406 25406번: 식사 계획 세우기 사전 순의 정의 길이가 $N$인 순열 $X_1, X_2, \dots , X_N$이 길이가 $N$인 순열 $Y_1, Y_2, \dots , Y_N$보다 사전 순으로 앞선다는 것은 아래 조건과 동치이다. $X_i ≠ Y_i$가 성립하는 가장 작은 $i$ ($1 ≤ i ≤ www.acmicpc.net 요약 식당 N개가 각자 1~N 음식 중 하나를 팔고 있다. 모든 식당을 다 방문하면서 같은 음식을 두 번 연속 먹지 않는 식사계획을 세우려한다. 이런 식사계획 중 사전순으로 가장 빠른 식사계획을 출력해야한다. 의식의 흐름 결론부터 말하자면 혼자 힘으로 풀지 못했다. 우선 올바른 식사계획을 세우기 위한..
2023.01.31 -
코딩테스트 스터디 - 프로그래머스 이모티콘 할인행사 (python)
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 요약 이모티콘 할인 행사로 이모티콘 플러스 가입자수를 최대화 하면서, 가입자수가 같다면 이모티콘 판매액을 최대화해야합니다. 각 이모티콘은 10,20,30,40 중 하나의 할인률과 가격을 가지며, 각 사용자는 x%이상 세일하는 이모티콘은 무조건 사고, 총 구매액이 y원이 넘어가면 이모티콘 플러스에 가입합니다. 의식의 흐름 단순하게 생각했을 때, 하나씩 다 해보면 됩니다. 이모티콘의 ..
2023.01.26