본문 바로가기

전체 글240

[구름LEVEL] 벽 통과하기 난이도 정답률 ★★★★ -% 프리미엄 알고리즘 위클리 비타알고 시즌3 4주차 goorm 구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다. www.goorm.io 문제 해결 key point, 방문한 시각이 작은 곳을 우선적으로 방문한다. priority_queue 우선순위 큐에 방문한 시각과 좌표를 저장한다. → {time, {x, y}} 현재 보고있는 위치와 인접한 곳을 확인하면서 벽이 있다면 시간은 그대로, 좌표만 다음 위치에 맞춰 넣어준다. 벽이 없다면 시간은 +1, 다음 위치 좌표를 넣어준다. 이렇게 순차적으로 순회하다보면 N,N 위치에 도달하게 되고 그 때의 time을 출력하면 최소 시간이 된다. 코드 1 2 .. 2020. 3. 25.
[구름LEVEL] 미로찾기 난이도 정답률 ★★★★ -% 프리미엄 알고리즘 위클리 비타알고 시즌3 3월 2주차 goorm 구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다. www.goorm.io 문제 N*N 크기의 격자판의 (1,1)에서 출발하여 (N,N)까지 이동하고자 한다. 미로는 0부터 9까지의 정수로 표현할 수 있으며 각각의 정수는 다음을 뜻한다. 0: 이동할 수 있는 통로 1: 벽 2...9: 워프를 할 수 있는 발판, 같은 번호의 발판끼리 이동 가능 2번 부터 9번까지는 격자판에 항상 2개 이상 존재하며, 각 칸을 이동하는 시간과 워프를 하는 시간은 모두 1초 걸린다. 미로를 탈출하기 위해 걸리는 최소 시간을 구해보자. 시행착오 더보기 .. 2020. 3. 24.
[구름LEVEL] 별들의 전쟁 난이도 정답률 ★★★ -% 프리미엄 알고리즘 위클리 비타알고 시즌3 4주차 goorm 구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다. www.goorm.io 문제 생산 가능한 인구 수가 주어졌을 때 최소한의 유닛을 이용하여 해당 인구 수를 정확히 맞추는 사람이 승리한다. '별들의 전쟁'의 모든 유닛에는 인구 수라는 수치가 주어졌으며, 유닛을 생산할 때 그 유닛에 맞는 인구 수만큼 인구 수가 증가한다. 특정 종족의 유닛들을 생산하면 인구 수를 차지하는지, 승리하를 위해 필요한 인구 수가 몇인지 주어졌을 때, 생산해야 하는 최소 유닛 수를 구해보자! 해당 종족의 유닛수 N(1 ≤ N ≤ 100), 승리를 위해 필요한 인구.. 2020. 3. 24.
[C++] 배열복사 memcpy, copy memcpy #include // C++ 에서는 void* memcpy(void* destination, const void* source, size_t num); 예제 memcpy(arr, tarr, sizeof(arr)); copy #include copy(initArray, initArray + n, v.begin()); // initArray내용을 n만큼 v에 복사 copy(v.begin(), v.end(), v2.begin()); // v의 내용을 v2에 복사 상세 template OutputIterator copy (InputIterator first, InputIterator last, OutputIterator result) { while (first!=last) { *result = *f.. 2020. 3. 23.
[구름LEVEL] 제습제 난이도 정답률 ★★★ -% 프리미엄 알고리즘 위클리 비타알고 시즌3 3주차 goorm 구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다. www.goorm.io 문제 격자판 위의 1은 제습제를, 0은 빈 공간을 나타낸다. 빈 공간에 맞닿아 있는 제습제는 1초 후 습기를 흡수하고 사라진다. 위의 격자판이 1초가 지나면 다음과 같은 모양이 된다. 제습제가 배치된 정보가 주어졌을 때, 모든 제습제가 사라지기까지 걸리는 시간을 구해보자! 모든 제습제가 사라지는데 걸리는 시간을 출력한다. 만약 제습제가 사라질 수 없는 경우라면 -1을 출력한다. 시행착오 1. 배열을 일일이 복사했다. arr과 tarr배열을 각각 만들었고 arr을 .. 2020. 3. 23.
[구름LEVEL] 백신 난이도 정답률 ★★ -% 프리미엄 알고리즘 위클리 비타알고 시즌3 1주차 구름EDU - Be Really Excellent! 구름EDU는 전국 대학, 기업 등에서 활용 중인 온라인 학습 및 교수 마켓플레이스입니다. 다양한 IT분야에 대해 배워 보세요. 여러분의 커리어 패스에 확실한 도움을 드립니다. edu.goorm.io 문제 백신은 한 명의 환자에게 접종하면 바이러스와 유사한 방식으로 해당 사람과 밀접하게 접촉하는 사람들에게 전파되어 그 사람들까지 모두 치료한다. 매우 효과적이고 빠른 속도로 전파되지만, 제작 비용이 너무 많이 든다는 단점으로 인해 현재 프로토 타입으로 제작된 단 하나의 백신만 사용할 수 있는 상황이다. 하나의 백신을 이용하여 가장 많은 사람들을 치료하고자 할 때, 어떤 사람에게 백신을.. 2020. 3. 23.
[C++] map iterator(반복자) 활용 map의 원소는 pair 객체로 저장되며 pair 객체의 first 멤버 변수는 key로 second 멤버 변수는 value이다. 예제 #include #include using namespace std; map m;// map 선언 int main() { m[10] = 4; m[8] = 9; m[100]++; map::iterator iter;// iterator 선언 for (iter = m.begin(); iter != m.end(); iter++) { printf("주소값: %d ", iter); printf("key: %d ", *iter); printf("key: %d value: %d\n", iter->first, iter->second); } map::iterator iter2 = m.be.. 2020. 3. 23.
[구름LEVEL] Dance Dance Revolution 난이도 정답률 ★★ -% 프리미엄 알고리즘 위클리 비타알고 시즌3 20년 3월 3주차 goorm 구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다. www.goorm.io 문제 DDR은 두 발을 이용하여 플레이하는 게임으로 버튼은 동시에 최대 2개까지만 누를 수 있지만, 해당 프로그램은 노래의 음과 박자에 맞춰 적절한 악보를 생성해주기 때문에 사람이 플레이할 수 있는 악보인지는 고려하지 않는다. 프로그램이 계산해준 악보를 사람이 플레이할 수 있는 악보인지 확인해보자! 입력 버튼 개수 N (1 ≤ N ≤ 500,000) 두 번째 줄부터 각 줄에는 눌러야 할 버튼과 해당 버튼을 눌러야 하는 시각이 주어진다. 사람이 플레이할 .. 2020. 3. 23.
[구름LEVEL] 경품 추첨 난이도 정답률 ★★ -% 프리미엄 알고리즘 위클리 비타알고 시즌3 20년 3월 2주차 goorm 구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다. www.goorm.io 문제 신입생들이 제출한 숫자들을 모아 무작위로 여러 숫자를 불러가며 해당 번호에 해당되는 학생에게 선물을 지급해야한다. 신입생들이 제출한 번호들과 무작위로 고른 숫자가 주어졌을 때 숫자를 부를때마다 선물을 받을 학생이 몇 명인지 구해보자. 신입생 수 N, 무작위 숫자를 부를 횟수 M 1 ≤ N, M ≤ 1,000,000 해결 key point, map사용. 신입생들이 적어낸 숫자가 key가 되어 value를 증가시킨다. 신입생들이 적어낸 숫자를 입력받으.. 2020. 3. 23.