-
[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. 코드 구현
1234567891011121314151617181920212223242526272829303132333435363738394041424344if __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=0for i in range(0,n):if flag==1:breakfor j in range(m-1,-1,-1):tmp=''if s[i][j]==1:row=icol=jflag=1breaktt=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가지는 문제 안에 꼭 들어있다.
'SWEA' 카테고리의 다른 글
[D3] SWEA 2805. 농작물 수확하기 (0) 2024.05.01 [D3] SWEA 1209. [S/W 문제해결 기본] 2일차 - Sum (0) 2024.05.01 [D3] SWEA 1208. [S/W 문제해결 기본] 1일차 - Flatten (0) 2024.05.01 [D3] SWEA 1244. [S/W 문제해결 응용] 2일차 - 최대 상금 (0) 2024.05.01 [D3] SWEA 1206. [S/W 문제해결 기본] 1일차 - View (0) 2024.04.30