게임 클라이언트 개발 98

[알고리즘 2단계] 계산기

[출처 : Goorm 사이트 - 기쁜 전골] 문제 이 문제는 사칙 연산을 수행할 수 있는 계산기를 프로그램화하는 것이 목표입니다. *switch문 사용을 권장합니다. 입력 두 수의 +, -, *, / 연산 중 하나 ( '수1 연산 수2' 형태로 입력) *단, 두 수는 정수이다. 출력 연산에 맞는 결과 *단, 나눗셈의 경우 결과값을 소수 둘째 자리까지 표시 풀이 스위치문 사용 입력 3개 사칙연산 case 4가지 경우 2단계 문제지만 스위치의 기본 문법만 알고 있어도 충분히 풀 수 있다. 나누셈 할 때 형 변환 연산자만 잘 쓰면 될 것 같다. #include int main() { int fir; int sec; char a; scanf("%d %c %d", &fir, &a, &sec); switch(a){..

[알고리즘 1단계] 369게임

[출처 : Goorm 사이트 - 노곤한 초밥] 문제 여름을 맞아 친구들과 여행을 간 구름이는 369게임을 하게 됐다. 369게임은 여러명이 둘러앉아서 숫자를 하나씩 돌아가며 말하다가 숫자에 3,6,9가 포함된 숫자가 되면 박수를 치는 게임이다. (이때, 해당 숫자에 3,6,9가 여러 개이면 박수를 개수만큼 쳐야 한다. 예를 들어 33, 36의 경우 박수를 두 번 쳐야 한다) 게임이 끝난 숫자 N이 주어졌을 때, N 이전까지 박수를 친 횟수를 구하여라. 풀이 369게임 알고리즘!! 생각보다 쉽게 접근하면 되는 문제였다. 각 자리수 마다 3, 6, 9가 있는지 파악하고, 만약 있으면 카운트하면 된다! 각 자리수 마다 있는지 판별법 : 몫이 0이 될 때까지 10으로 나눈다. 그다음, 나머지가 3, 6, 9인지..

[알고리즘 1단계] 단어의 개수 세기

[출처 : Goorm 사이트 - 화난 튀김] 문제 문자열 한 줄이 주어졌을 때, 해당 줄에 몇 개의 영단어가 존재하는지 계산하는 프로그램을 작성하시오. 문자열은 알파벳 대/소문자 및 공백으로 구성되어 있으며, 공백 없이 하나 이상의 알파벳이 연속된 부분 문자열(Substring)을 단어(Word)로 정의한다. 예를 들어서 문자열 Goorm Edu 의 경우 두 개의 단어 Goorm, Edu가 존재한다. 입력 형식 한 줄에 공백과 알파벳을 포함하는 문자열이 주어진다. 문자열의 길이는 1글자 이상 1,000글자 이하로 주어진다. 출력 형식 입력으로 주어진 문자열에 존재하는 영단어의 개수를 정수로 출력하시오. 풀이 간단하게 생각했는데 생각보다 까다로웠다. 입력의 종료를 뜻하는 엔터키의 입력이 아스키 코드로 0 ..

[알고리즘 1단계] [KOI 2016] 타일 장식물

[출처 : Goorm 사이트 - Yun Goon] 문제 대구 달성공원에 놀러 온 지수는 최근에 새로 만든 타일 장식물을 보게 되었다. 타일 장식물은 정사각형 타일을 붙여 만든 형태였는데, 한 변이 1 인 정사각형 타일부터 시작하여 마치 앵무조개의 나선 모양처럼 점점 큰 타일을 붙인 형태였다. 타일 장식물의 일부를 그리면 다음과 같다. 그림에서 타일에 적힌 수는 각 타일의 한 변의 길이를 나타낸다. 타일 장식물을 구성하는 정사각형타일 한 변의 길이를 안쪽 타일부터 시작하여 차례로 적으면 다음과 같다. 1, 1, 2, 3, 5, 8, ... 지수는 문득 이러한 타일들로 구성되는 큰 직사각형의 둘레가 궁금해졌다. 예를 들어, 처음 다섯 개의 타일이 구성하는 직사각형(위에서 빨간색으로 표시한 직사각형)의 둘레는..

[알고리즘 1단계] [KOI 2019] 막대기

[출처 : Goorm 사이트 - Yun Goon] 문제 모든 언어에 대해 시간 제한 1초, 메모리 제한 512MB입니다. 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 6, 9, 7, 6, 4, 6 이다. 일렬로 세워진 막대기를 오른쪽에서 보면 보이는 막대기가 있고 보이지 않는 막대기가 있다. 즉, 지금 보이는 막대기보다 뒤에 있고 높이가 높은 것이 보이게 된다. 예를 들어, 그림과 같은 경우엔 3개(6번, 3번, 2번)의 막대기가 보인다. N개의 막대기에 대한 높이 정보가 주어질 때, 오른쪽에서 보아서 몇 개가 보이는지를 알아내는 프로그램을 작성하려고 한다. 입..

[알고리즘 1단계] 자동문

[출처 : Goorm 사이트 - Yun Goon] 문제 민수는 평소처럼 엘리베이터를 타고 집을 나서던 길에 자동문의 동작 방식이 궁금해졌다. 혼자서 책과 인터넷을 통해 조사한 민수는 자신이 살고 있는 집에 설치된 엘리베이터의 자동문은 적외선 센서를 사용한다는 사실을 알게 되었다. 엘리베이터의 자동문은 출입하는 사람과 충돌하지 않도록 오른쪽 벽 방향으로 적외선 신호를 발사한다. 그리고 이 신호가 벽에 반사되어 다시 센서로 돌아오는 시간을 사용해 문과 벽 사이에 다른 사람이나 사물이 존재하는지 판단하는 방식으로 동작하게 된다. 한 번 신호를 발사한 이후에는 발사한 신호가 반사되어 센서로 되돌아올 때까지 대기한다. 이전에 발사된 신호가 되돌아온 순간 다음 신호를 곧바로 벽 쪽으로 발사하여 검사를 반복한다. 그..

[알고리즘 1단계] 태민이의 취미

[출처 : Goorm 사이트 - Yun Goon] 문제 태민이는 주사위를 수집하는 취미를 가지고 있습니다. 주사위의 모양과 색깔은 각기 다르며, 크기 또한 다릅니다. 태민이는 지금까지 모은 N개의 주사위가 너무 난잡하게 보관해놓고 있어서 정리를 결심했습니다. 그래서 우선 N개의 주사위를 크기 순서대로 정리해보려고 마음먹었습니다. 그렇게 주사위를 순서대로 정렬시켜보니 각 변의 길이가 1부터 N까지 모두 있는 것을 알게 되었습니다. 이 사실이 매우 신기했던 태민이는 이 주사위들의 부피의 합은 어떻게 될지 궁금해졌습니다. 태민이가 현재 가지고 있는 모든 주사위의 부피의 합은 얼마일까요? 태민이의 궁금증을 풀어주세요! 예시 풀이 (의식의 흐름) 1. 입력 받아야 할 것. - n개의 주사위, 크기는 1~n까지 u..

[알고리즘 1단계] 고장난 컴퓨터

[출처 : Goorm 사이트 - Yun Goon] 문제 혜지는 자신의 컴퓨터로 코딩을 하던 중, 자신의 코드가 통째로 지워지는 현상을 겪었다. 여러 번의 시행착오 끝에, 키보드를 마지막으로 누른 후 c초 동안 자신의 코드가 그대로 남아있다가 (c+1)초가 경과하는 순간 모든 코드가 지워지는 것을 알게 되었다. 혜지는 오기가 생겨 과연 자신의 코드가 지워지는 게 먼저인지 아니면 자신이 코드를 완성하는 게 먼저인지 자신의 고장 난 컴퓨터와 대결해보고 싶었다. 혜지가 키보드를 총 N번 누른다고 할 때, 코딩을 시작한 이후 몇 초가 경과하고 키보드를 쳤는지에 대한 N개의 정보를 이용하여 코딩을 마쳤을 때 총 몇 글자가 남아있는지 계산하여라. 예를 들어, 혜지가 키보드를 [1, 3, 8, 14, 19, 20]의 ..