99클럽 코테 스터디 1일차 TIL + 번호표 교환

Saang Bum Kim·2024년 4월 22일
0

99클럽

목록 보기
2/59
post-thumbnail
  1. 문제
    링크텍스트

  2. 객체

  • 학생: N, 번호표: A_i
  • 카드: M
  1. 규칙
  • 학생
    - 1번 시작, A_i
    • j번 -> j+1번
    • if A_j % i > A_j+1 % i
      A_j <-> A_j+1
    • N번 종료
  1. 난관
    1) 입력을 어떠한 식으로 해야 하나?
  • 간단한 입력이라면 input()
  • 시간이 중요하면 다음과 같이:
    import sys
    sys.stdin = open('in.txt', 'r')
    N, M = map(int, sys.stdin.readline().split())
  • 테스트를 위해서는 다음과 같이:
    i = """6 4
    3
    2
    8
    3
    1
    5
    """
    import sys
    sys.stdin = open('in.txt', 'r')
    N, M = map(int, sys.stdin.readline().split())

2) 코드는 단순한 simulation이라 쉽게 작성하였으나, function으로 작성하였더니 계속 '틀렸습니다'가 되었다. 간신히 성공

  1. 결과
N, M = map(int, input().split())
A = []
for i in range(N):
    A.append(int(input()))
for i in range(1,M+1,1):
    for j in range(N-1):
        if (A[j] % i) > (A[j+1] % i):
            temp = A[j]
            A[j] = A[j+1]
            A[j+1] = temp
for i in A:
    print(i)

profile
old engineer

0개의 댓글