◀ PREV [1] [2] [3] NEXT ▶ 1208. [S/W 문제해결 기본] 1일차 - Flatten D3 한 쪽 벽면에 다음과 같이 노란색 상자들이 쌓여 있다.높은 곳의 상자를 낮은 곳에 옮기는 방식으로 최고점과 최저점의 간격을 줄이는 작업을 평탄화라고 한다.평탄화를 모두 수행하고 나면, 가장 높은 곳과 가장 낮은 곳의 차이가 최대 1 이내가 된다.평탄화 작업을 위해서 상자를 옮기는 작업 횟수에 제한이 걸려있을 때, 제한된 횟수만큼 옮기는 작업을 한 후 최고점과 최저점의 차이를 반환하는 프로그램을 작성하시오. 가장 높은 곳에 있는 상자를 가장 낮은 곳으로 옮기는 작업을 덤프라고 정의한다.위의 예시에서 제1회 덤프를 수행한 이후 화면은 다음과 같다. A부분의 상자를 가장 낮은 B부분에 덤프하였으며, A대신 A’부분의 상자를 사용해도 무방하다.다음은 제2회 덤프를 수행한 이후의 화면이다. A’부분의 상자를.. 2024. 10. 15. 1244. swea 최대 상금 D3 퀴즈 대회에 참가해서 우승을 하게 되면 보너스 상금을 획득할 수 있는 기회를 부여받는다.우승자는 주어진 숫자판들 중에 두 개를 선택에서 정해진 횟수만큼 서로의 자리를 위치를 교환할 수 있다.예를 들어, 다음 그림과 3, 2, 8, 8, 8 의 5개의 숫자판들이 주어지고 교환 횟수는 2회라고 하자.교환전>처음에는 첫번째 숫자판의 3과 네 번째 숫자판의 8을 교환해서 8, 2, 8, 3, 8이 되었다. 다음으로, 두 번째 숫자판 2와 마지막에 있는 8을 교환해서 8, 8, 8, 3, 2이 되었다.정해진 횟수만큼 교환이 끝나면 숫자판의 위치에 부여된 가중치에 의해 상금이 계산된다.숫자판의 오른쪽 끝에서부터 1원이고 왼쪽으로 한자리씩 갈수록 10의 배수만큼 커진다.위의 예에서와 같이 최종적으로 숫자판들이 8,8.. 2024. 10. 14. 1206. [S/W 문제해결 기본] 1일차 - View D3 강변에 빌딩들이 옆으로 빽빽하게 밀집한 지역이 있다.이곳에서는 빌딩들이 너무 좌우로 밀집하여, 강에 대한 조망은 모든 세대에서 좋지만 왼쪽 또는 오른쪽 창문을 열었을 때 바로 앞에 옆 건물이 보이는 경우가 허다하였다.그래서 이 지역에서는 왼쪽과 오른쪽으로 창문을 열었을 때, 양쪽 모두 거리 2 이상의 공간이 확보될 때 조망권이 확보된다고 말한다.빌딩들에 대한 정보가 주어질 때, 조망권이 확보된 세대의 수를 반환하는 프로그램을 작성하시오. 아래와 같이 강변에 8채의 빌딩이 있을 때, 연두색으로 색칠된 여섯 세대에서는 좌우로 2칸 이상의 공백이 존재하므로 조망권이 확보된다. 따라서 답은 6이 된다.A와 B로 표시된 세대의 경우는 왼쪽 조망은 2칸 이상 확보가 되었지만 오른쪽 조망은 한 칸 밖에 확보가 되지 .. 2024. 10. 14. 1983. 조교의 성적 매기기 D2 학기가 끝나고, 학생들의 점수로 학점을 계산중이다.학점은 상대평가로 주어지는데, 총 10개의 평점이 있다.학점은 학생들이 응시한 중간/기말고사 점수 결과 및 과제 점수가 반영한다.각각 아래 비율로 반영된다.10 개의 평점을 총점이 높은 순서대로 부여하는데,각각의 평점은 같은 비율로 부여할 수 있다.예를 들어, N 명의 학생이 있을 경우 N/10 명의 학생들에게 동일한 평점을 부여할 수 있다.입력으로 각각의 학생들의 중간, 기말, 과제 점수가 주어지고,학점을 알고싶은 K 번째 학생의 번호가 주어졌을 때,K 번째 학생의 학점을 출력하는 프로그램을 작성하라.[제약사항]1. N은 항상 10의 배수이며, 10이상 100이하의 정수이다. (10 ≤ N ≤ 100)2. K는 1 이상 N 이하의 정수이다. (1 ≤ K.. 2024. 10. 12. 1288. 새로운 불면증 치료법 D2 호석이는 불면증에 걸렸다. 그래서 잠이 안 올 때의 민간요법 중 하나인 양 세기를 하려고 한다.호석이는 1번 양부터 순서대로 세는 것이 재미없을 것 같아서 N의 배수 번호인 양을 세기로 하였다.즉, 첫 번째에는 N번 양을 세고, 두 번째에는 2N번 양, … , k번째에는 kN번 양을 센다.이렇게 숫자를 세던 호석이에게 잠은 더 오지 않고 다음과 같은 궁금증이 생겼다.이전에 셌던 번호들의 각 자리수에서 0에서 9까지의 모든 숫자를 보는 것은 최소 몇 번 양을 센 시점일까?예를 들어 N = 1295이라고 하자.첫 번째로 N = 1295번 양을 센다. 현재 본 숫자는 1, 2, 5, 9이다.두 번째로 2N = 2590번 양을 센다. 현재 본 숫자는 0, 2, 5, 9이다.현재까지 본 숫자는 0, 1, 2, 5.. 2024. 10. 12. 소수점 n 자리에서 반올림, 올림 , 내림 (D2 1984. 중간 평균값 구하기 ) double 형 자료형으로 ceil - 올림floor - 내림 • 반올림round 메서드를 사용하면 소수 첫째 자리에서 반올림한다근데 소수 3째나 4째에서 하고 싶으면?double res = 123.456789;double rounded = round(res * 1000) / 1000.0; 이런 방식으로 하면 소수 3째자리에서 반올림한 걸 구할 수 있다나눌때 / 10 형태가 아닌 / 10.0을 해줘야 되는걸 기억해두자 #include #include #include #include #include using namespace std;int main () { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int test_case; cin >>.. 2024. 10. 12. SWEA D2 1959. 두 개의 숫자열 N 개의 숫자로 구성된 숫자열 Ai (i=1~N) 와 M 개의 숫자로 구성된 숫자열 Bj (j=1~M) 가 있다.아래는 N =3 인 Ai 와 M = 5 인 Bj 의 예이다.Ai 나 Bj 를 자유롭게 움직여서 숫자들이 서로 마주보는 위치를 변경할 수 있다.단, 더 긴 쪽의 양끝을 벗어나서는 안 된다. 서로 마주보는 숫자들을 곱한 뒤 모두 더할 때 최댓값을 구하라.위 예제의 정답은 아래와 같이 30 이 된다. [제약 사항]N 과 M은 3 이상 20 이하이다.[입력]가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.각 테스트 케이스의 첫 번째 줄에 N 과 M 이 주어지고,두 번째 줄에는 Ai,세 번째 줄에는 Bj 가 주어진다.[출력]출력의 각 줄은 '#t'로 시작하고.. 2024. 10. 12. SWEA D2 1961. 숫자 배열 회전 N x N 행렬이 주어질 때,시계 방향으로 90도, 180도, 270도 회전한 모양을 출력하라.[제약 사항]N은 3 이상 7 이하이다.[입력]가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.각 테스트 케이스의 첫 번째 줄에 N이 주어지고,다음 N 줄에는 N x N 행렬이 주어진다.[출력]출력의 첫 줄은 '#t'로 시작하고,다음 N줄에 걸쳐서 90도, 180도, 270도 회전한 모양을 출력한다.입력과는 달리 출력에서는 회전한 모양 사이에만 공백이 존재함에 유의하라.(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)입력1031 2 34 5 67 8 966 9 4 7 0 58 9 9 2 6 56 8 5 4 9 82 2 7 7 8 47 5 1 9 7 98 9 .. 2024. 10. 11. SWEA D2 2005 파스칼의 삼각형 크기가 N인 파스칼의 삼각형을 만들어야 한다.파스칼의 삼각형이란 아래와 같은 규칙을 따른다.1. 첫 번째 줄은 항상 숫자 1이다.2. 두 번째 줄부터 각 숫자들은 자신의 왼쪽과 오른쪽 위의 숫자의 합으로 구성된다.N이 4일 경우, N을 입력 받아 크기 N인 파스칼의 삼각형을 출력하는 프로그램을 작성하시오.[제약 사항]파스칼의 삼각형의 크기 N은 1 이상 10 이하의 정수이다. (1 ≤ N ≤ 10)[입력]가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.각 테스트 케이스에는 N이 주어진다.[출력]각 줄은 '#t'로 시작하고, 다음 줄부터 파스칼의 삼각형을 출력한다.삼각형 각 줄의 처음 숫자가 나오기 전까지의 빈 칸은 생략하고 숫자들 사이에는 한 칸의 빈칸을 출력.. 2024. 10. 11. SWEA D2 1926 간단한 369 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5PTeo6AHUDFAUq&categoryId=AV5PTeo6AHUDFAUq&categoryType=CODE&problemTitle=&orderBy=INQUERY_COUNT&selectCodeLang=JAVA&select-1=2&pageSize=10&pageIndex=1 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 1 2 - 4 5 - 7 8 - 형태로 369를 -로 치환해서 출력하는 문제33은 --, 333은 --- 이 된다#include #.. 2024. 10. 10. SWEA D2 1954 달팽이 숫자 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5PobmqAPoDFAUq&categoryId=AV5PobmqAPoDFAUq&categoryType=CODE&problemTitle=&orderBy=INQUERY_COUNT&selectCodeLang=JAVA&select-1=2&pageSize=10&pageIndex=1&&&&&&&&&& SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 달팽이는 1부터 N*N까지의 숫자가 시계방향으로 이루어져 있다.다음과 같이 정수 N을 입력 받아 N크기의 달팽이를 .. 2024. 10. 10. 우선순위큐 priority_queue, greater> pq(scoville.begin(), scoville.end()); 기본적으로 최대힙, greater을 이용해서 최소힙으로 구성 가능priority_queue> pq(벡터.begin(), 벡터.end()); 내일 코테 제발... 2024. 10. 1. 프로그래머스 폰켓몬(해쉬) https://school.programmers.co.kr/learn/courses/30/lessons/1845?language=cpp 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 1~200000까지 번호가 잇는 n개의 폰켓몬이 들어올때 n/2개를 고르고, 해당 폰켓몬의 종류를 구하는 문제 첨엔 맵에 넣고.. 맵을 순회하면서 구해야되나 하다가그냥 set에 박아서 종류 구한 다음 생각해보면 n/2가 set보다 크거나 같은 경우 -> set에 있는거 다 하나씩 넣고 중복해서 더넣어야됨, 최대 종류는 set의 크기n이 set 보다 작은경우 -> n/2 종류.. 2024. 9. 30. 백준 2910 빈도정렬(map, vector) 문제위대한 해커 창영이는 모든 암호를 깨는 방법을 발견했다. 그 방법은 빈도를 조사하는 것이다.창영이는 말할 수 없는 방법을 이용해서 현우가 강산이에게 보내는 메시지를 획득했다. 이 메시지는 숫자 N개로 이루어진 수열이고, 숫자는 모두 C보다 작거나 같다. 창영이는 이 숫자를 자주 등장하는 빈도순대로 정렬하려고 한다.만약, 수열의 두 수 X와 Y가 있을 때, X가 Y보다 수열에서 많이 등장하는 경우에는 X가 Y보다 앞에 있어야 한다. 만약, 등장하는 횟수가 같다면, 먼저 나온 것이 앞에 있어야 한다.이렇게 정렬하는 방법을 빈도 정렬이라고 한다.수열이 주어졌을 때, 빈도 정렬을 하는 프로그램을 작성하시오.입력첫째 줄에 메시지의 길이 N과 C가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ C ≤ 1,000.. 2024. 9. 29. 백준 1992 쿼드트리(재귀) 문제흑백 영상을 압축하여 표현하는 데이터 구조로 쿼드 트리(Quad Tree)라는 방법이 있다. 흰 점을 나타내는 0과 검은 점을 나타내는 1로만 이루어진 영상(2차원 배열)에서 같은 숫자의 점들이 한 곳에 많이 몰려있으면, 쿼드 트리에서는 이를 압축하여 간단히 표현할 수 있다.주어진 영상이 모두 0으로만 되어 있으면 압축 결과는 "0"이 되고, 모두 1로만 되어 있으면 압축 결과는 "1"이 된다. 만약 0과 1이 섞여 있으면 전체를 한 번에 나타내지를 못하고, 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래, 이렇게 4개의 영상으로 나누어 압축하게 되며, 이 4개의 영역을 압축한 결과를 차례대로 괄호 안에 묶어서 표현한다위 그림에서 왼쪽의 영상은 오른쪽의 배열과 같이 숫자로 주어지며, 이 영상을 쿼드 .. 2024. 9. 29. 백준 1629 곱셈(모듈러, 재귀) #include #include using namespace std;typedef long long ll;ll a,b,c;ll go(ll a, ll b) { if (b == 1) return a % c; ll ret = go(a, b / 2); // 2의 5승을 2의2승 * 2의 2승 * 2로 바꾸는 연산 ret = (ret * ret) % c; // 곱해준 걸 모듈러 연산 // 홀수인 경우에는 a를 한번 더 곱해주는 연산 if(b%2 != 0)ret = (ret * a) % c; return ret;}int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> a >> b >>.. 2024. 9. 27. 백준 3986 (스택) 문제이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에 깨고 말았다. 안타깝게도 자는 동안 키보드가 잘못 눌려서 보고서의 모든 글자가 A와 B로 바뀌어 버렸다! 그래서 평석이는 보고서 작성을 때려치우고 보고서에서 '좋은 단어'나 세보기로 마음 먹었다.평석이는 단어 위로 아치형 곡선을 그어 같은 글자끼리(A는 A끼리, B는 B끼리) 쌍을 짓기로 하였다. 만약 선끼리 교차하지 않으면서 각 글자를 정확히 한 개의 다른 위치에 있는 같은 글자와 짝 지을수 있다면, 그 단어는 '좋은 단어'이다. 평석이가 '좋은 단어' 개수를 세는 것을 도와주자.입력첫째 줄에 단어의 수 N이 주어진다.. 2024. 9. 23. 팰린드롬 만들기(구현?) 문제임한수와 임문빈은 서로 사랑하는 사이이다.임한수는 세상에서 팰린드롬인 문자열을 너무 좋아하기 때문에, 둘의 백일을 기념해서 임문빈은 팰린드롬을 선물해주려고 한다.임문빈은 임한수의 영어 이름으로 팰린드롬을 만들려고 하는데, 임한수의 영어 이름의 알파벳 순서를 적절히 바꿔서 팰린드롬을 만들려고 한다.임문빈을 도와 임한수의 영어 이름을 팰린드롬으로 바꾸는 프로그램을 작성하시오.입력첫째 줄에 임한수의 영어 이름이 있다. 알파벳 대문자로만 된 최대 50글자이다.출력첫째 줄에 문제의 정답을 출력한다. 만약 불가능할 때는 "I'm Sorry Hansoo"를 출력한다. 정답이 여러 개일 경우에는 사전순으로 앞서는 것을 출력한다.예제 입력 1 복사AABB예제 출력 1 복사ABBA예제 입력 2 복사AAABB예제 출력 .. 2024. 9. 22. 백준 9375 (경우의 수, map) 문제해빈이는 패션에 매우 민감해서 한번 입었던 옷들의 조합을 절대 다시 입지 않는다. 예를 들어 오늘 해빈이가 안경, 코트, 상의, 신발을 입었다면, 다음날은 바지를 추가로 입거나 안경대신 렌즈를 착용하거나 해야한다. 해빈이가 가진 의상들이 주어졌을때 과연 해빈이는 알몸이 아닌 상태로 며칠동안 밖에 돌아다닐 수 있을까?입력첫째 줄에 테스트 케이스가 주어진다. 테스트 케이스는 최대 100이다.각 테스트 케이스의 첫째 줄에는 해빈이가 가진 의상의 수 n(0 ≤ n ≤ 30)이 주어진다.다음 n개에는 해빈이가 가진 의상의 이름과 의상의 종류가 공백으로 구분되어 주어진다. 같은 종류의 의상은 하나만 입을 수 있다.모든 문자열은 1이상 20이하의 알파벳 소문자로 이루어져있으며 같은 이름을 가진 의상은 존재하지 않.. 2024. 9. 22. 백준 1620 (map) 문제 오박사 : 그럼 다솜아 이제 진정한 포켓몬 마스터가 되기 위해 도감을 완성시키도록 하여라. 일단 네가 현재 가지고 있는 포켓몬 도감에서 포켓몬의 이름을 보면 포켓몬의 번호를 말하거나, 포켓몬의 번호를 보면 포켓몬의 이름을 말하는 연습을 하도록 하여라. 나의 시험을 통과하면, 내가 새로 만든 도감을 주도록 하겠네.입력첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 물어봐도 괜찮아. 나는 언제든지 질문에 답해줄 준비가 되어있어.둘째 줄부터 N개의 줄에 포켓몬의 번호가 1번인 포켓몬부터 N번에 해당하는 포켓몬까지 한 줄에 하나씩 입력으로 들어와. 포.. 2024. 9. 21. 이전 1 2 3 다음 more