본문 바로가기
공부/알고리즘

[0601] 알고리즘

by Piva 2021. 6. 1.

  글 제목을 알고리즘이 아니라 1일 1백준으로 바꿔야하는게 아닌지 고민 중이다...

 


7568. 덩치

  그냥 브루트 포스 사용하는 문제. 각 등수는 '나보다 덩치가 큰 사람 수'에 의해서 정해지기 때문에, 덩치가 큰 사람을 만나면 덩치가 큰 사람만의 랭크를 올리고, 나보다 덩치가 작은 사람을 만나면 내 랭크만을 올린다.

 

#include <iostream>

int main()
{
    std::cin.tie(NULL);
	std::ios_base::sync_with_stdio(false);
    
    int n; //전체 사람 수
    std::cin >> n;
    int x[n], y[n], rank[n];
    for (int i = 0; i < n; i++)
    {
      std::cin >> x[i] >> y[i];
    }

    for (int i = 0; i < n; i++)
    {
      rank[i] = n; //덩치 등수 배열 초기화
    }

    for (int i = 0; i < n; i++)
    {
      for (int j = i + 1; j < n; j++)
      {
        if (x[i] > x[j] && y[i] > y[j])
        {
          rank[i]--;
        }
        else if (x[i] < x[j] && y[i] < y[j])
        {
          rank[j]--;
        }
        else
        {
          rank[i]--;
          rank[j]--;
        }
      }
    }

    for (int i = 0; i < n; i++)
    {
      std::cout << rank[i] << ' ';
    }

    return 0;
}

 

 

2231. 분해합

  이것도 브루트포스인데 너무 생각없이 했었는지 첨엔 시간초과 떠서... 시간초과 안 뜨게 조금 바꿨더니 맞았다.

#include <iostream>
#include <cmath>

int main()
{
    std::cin.tie(NULL);
	std::ios_base::sync_with_stdio(false);
    
    int n, min = 1000000, generator = 0, num, digit = 0;
    std::cin >> n;

    for (int i = 1; i < n; i++)
      {
        generator = 0;
        digit = 0;
        generator += i;

        if (i < 10) generator += i;
        else
        {
          num = i;
          while (num != 0)
          {
            num /= 10;
            digit++;
          }
          
          num = i;

          for (int k = digit - 1; k >= 0; k--)
          {
            generator += int((num / pow(10, k)));            
            num %= int(pow(10, k));
          }
        }

        if (generator == n && min > generator) 
        {
          min = i;
        }
      }

    if (min != 1000000)
      std::cout << min << '\n';
    else std::cout << 0 << '\n';

    return 0;
}

  본격적으로 알고리즘 더 손대기 전에 이미 아는 거부터 건들면서 시동걸기... 라고 우기기로.

'공부 > 알고리즘' 카테고리의 다른 글

[0608~0609] 알고리즘  (0) 2021.06.10
[0605~0606] 알고리즘  (0) 2021.06.07
[0531] 알고리즘  (0) 2021.05.31
[0530] 알고리즘  (0) 2021.05.30
[0529] 알고리즘  (0) 2021.05.29