ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [D3] SWEA 1240. [S/W 문제해결 응용] 1일차 - 단순 2진 암호코드
    SWEA 2024. 5. 1. 17:32

    1. 접근 방식

    암호들은 무조건 1로 끝난다.

    암호는 7글자*8개=총 56글자다

    열의 끝에서부터 탐색해서

    1이 발견되면 ( 1이 발견된 인덱스- 55 ~ 1이 발견된 인덱스 )까지 가져오면 된다.

    그리고 7글자씩 자르면 된다.

     

    2. 디테일한 구현

    접근 방식대로 코드를 짜면 된다.

     

    3. 코드 구현

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    if __name__=='__main__':
        sys.stdin=open('input2.txt','r')   
        
        
        test_case=int(input()) ## 총 테스트 케이스 개수
       
        for tc in range(test_case):
           n,m=map(int,input().split())
           s=[ list(map(int,input())) for _ in range(n) ]
     
           v={'0001101':0,'0011001':1,'0010011':2,'0111101':3,'0100011':4,'0110001':5,'0101111':6,'0111011':7,'0110111':8,'0001011':9}
     
           res=[0]
           flag=0
           for i in range(0,n):
               if flag==1:
                   break
               for j in range(m-1,-1,-1):
                   tmp=''
                   if s[i][j]==1:
                       row=i  
                       col=j  
                       flag=1
                       break
     
           tt=s[row][col-56:col+1]
          
           for x in range(0,56,7):
               tmp=''
               for f in tt[x:x+7]:
                   tmp+=str(f)
               res.append(v[tmp])
     
           x=0; y=0;
           for i in range(1,9):
               if i%2==0:
                   y+=res[i]
               else:
                   x+=res[i]
           p=((x*3)+y)
           if p%10==0:
               print(f'#{tc+1} {sum(res)}')
           else:
               print(f'#{tc+1} 0')
    cs

     

     

     

    4. 깨달은 점 및 반성

    암호는 1로 끝난다는 사실을 활용하지 못해서

    문제풀이에 실패하고 굉장히 어렵게 문제를 풀었었다.

    공통점이 발견되면 활용하도록 하자!

    반복성, 공통점, 수학적 개념 !!!!

    3가지 중에 1가지는 문제 안에 꼭 들어있다.

Designed by Tistory.