2605 - 줄 세우기

2025. 7. 6. 23:36·백준 - C

https://www.acmicpc.net/problem/2605

 

문제

줄 서는데 각자 카드만큼 앞으로 이동하기.

 

입력예시

5

0 1 1 3 2

 

0 -> 그냥 맨 뒤 그대로 -> 1

1 -> 앞으로 한칸 -> 2 1

1 -> 앞으로 한칸 -> 2 3 1

3 -> 앞으로 세칸 -> 4 2 3 1

2 -> 앞으로 두칸 -> 4 2 5 3 1

 

출력예시

4 2 5 3 1

 

#include <stdio.h>
int main(void){
    int n;
    scanf("%d", &n);
    
    int num[100];
    int result[100];
    for (int i = 0; i < n; i++){
        scanf("%d", &num[i]);
    }
    for (int i = 0; i < n; i++) {
        int num2 = i - num[i]; //지금 줄 서려는 학생 위치
        for (int j = i; j > num2; j--){
            result[j] = result[j-1]; //배열에 값 삽입하려고 뒤에 있는 거 한칸씩 밀기
        }
        result[num2] = i + 1; //i+1번 학생을 줄의 num2번째에 넣음
    }
    for (int i = 0; i < n; i++){
        printf("%d ", result[i]);
    }
    return 0;
}

 

'백준 - C' 카테고리의 다른 글
  • 4153 - 직각삼각형
  • 2884 - 알람 시계
  • 1978 - 소수 찾기
  • 2562 - 최댓값
seo_young
seo_young
  • seo_young
    86400개의 발자국
    seo_young
  • 전체
    오늘
    어제
    • 분류 전체보기 (53)
      • 리눅스 (11)
      • 웹 기초 (9)
      • 회로이론1 (1)
      • 자료구조 (15)
      • 백준 - C (7)
      • 백준 - 파이썬 (7)
      • 크롤링 스터디 (0)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
seo_young
2605 - 줄 세우기
상단으로

티스토리툴바