오늘의 문제는 다음과 같다. 


문제

오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다.

파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다.

N이 주어졌을 때, P(N)을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, N이 주어진다. (1 ≤ N ≤ 100)

출력

각 테스트 케이스 마다 P(N)을 출력한다.

예제 입력 

2
6
12

예제 출력 

3
16


법칙을 파악하면 풀 수 있는 문제로 생각된다 ㅠㅠ


코드는 아래와 같다.



'알고이즘 > 문제를 막풀어' 카테고리의 다른 글

[boj] 2965 캥거루  (0) 2018.01.17
[boj] no.1475 room number  (0) 2017.12.23
[boj]no.2292 벌집  (0) 2017.12.07
[boj]1004 어린왕자  (0) 2017.12.04
[boj] no.1003 피보나치  (0) 2017.12.01

문제가 생각보다 간단하게 풀려서 굉장히 당황스러움..;;;


이러려고 이 문제를 택한 것은 아닌뒙;


어쨋든 오늘의 문제는 ?



문제

캥거루 세 마리가 사막에서 놀고 있다. 사막에는 수직선이 하나 있고, 캥거루는 서로 다른 한 좌표 위에 있다.

한 번 움직일 때, 바깥쪽의 두 캥거루 중 한 마리가 다른 두 캥거루 사이의 정수 좌표로 점프한다. 한 좌표 위에 있는 캥거루가 두 마리 이상일 수는 없다.

캥거루는 최대 몇 번 움직일 수 있을까?

입력

첫째 줄에 세 캥거루의 초기 위치 A, B, C가 주어진다. (0 < A < B < C < 100)

출력

캥거루가 최대 몇 번 움직일 수 있는지 출력한다.

예제 입력 

3 5 9

예제 출력 

3




이에 따른 코드는 아래와 같다!!



'알고이즘 > 문제를 막풀어' 카테고리의 다른 글

[boj] 9461파도반 수열  (1) 2018.01.19
[boj] no.1475 room number  (0) 2017.12.23
[boj]no.2292 벌집  (0) 2017.12.07
[boj]1004 어린왕자  (0) 2017.12.04
[boj] no.1003 피보나치  (0) 2017.12.01

6과 9는 구분없이 사용함으로 이것만 신경쓰면 오키


#include <stdio.h>
#include <string.h>
#define max(a,b) (a)>(b)?(a):(b)

int answer, tmp, cnt[10];
char str[10];

int main() {
    scanf("%s", str);
    
    for (int i = 0; i < strlen(str); i++) cnt[str[i] - '0']++;
    for (int i = 0; i <= 9; i++) if (i != 6 && i != 9) ans = max(answer, cnt[i]);
    
    ans = max(answer, (cnt[6] + cnt[9] + 1) / 2);
    
    printf("%d", answer);

    return 0;
}


'알고이즘 > 문제를 막풀어' 카테고리의 다른 글

[boj] 9461파도반 수열  (1) 2018.01.19
[boj] 2965 캥거루  (0) 2018.01.17
[boj]no.2292 벌집  (0) 2017.12.07
[boj]1004 어린왕자  (0) 2017.12.04
[boj] no.1003 피보나치  (0) 2017.12.01

+ Recent posts