728x90
코드만 궁금한 분은 깃허브링크 눌러주세요~
문제 설명 ㄱㄱ
숫자를 입력받아 마치 LCD시계에 표시하듯 표시하면 되는 문제이다. 딱봐도 슬라이싱만 잘 활용하면 되는 문제.
문제 해결 논리
흠 논리랄게 있나? 위에 설명한대로 슬라이싱만 잘 하면 되는데, 딱 봐도 구현문제라 그냥 더럽게 푸는게 맞다.
나같은 경우는 8을 봤을때 맨위, 가운데, 맨아래의 '--'부분과 윗쪽의 좌-우 '|' 부분, 아랫쪽의 좌-우 '|' 부분 이렇게 총 7군데를 나눠서 풀었다. 숫자별로 출력 크기는 다르게될지 몰라도 표시해야하는 부분은 다 똑같으니까, 미리 각 부분별로 출력형식을 정의해두고 풀었다.
공백으로 이루어진 s+2의 가로, 2s+3의 세로를 갖는 2차원 리스트를 숫자의 갯수 길이만큼 선언하고(결국 3차원 리스트가 된다), 각 숫자에서 각각 표시해야하는 부분에 '-'와 '|'를 추가한다. 조금 쉽게 말하자면, 리스트[현재 숫자의 순번][행][열]이 각 요소이다. 이렇게 하면 3차원 리스트가 완성되는데 맨 윗줄부터 join함수를 써서 문자열로 바꿔서 출력해주면 된다.
나는 출력형식에서 거의 20분을 소모했는데 여러분은 ..여기서 크게 헷갈리지 않으면 좋겠다. 맨 오른쪽 숫자가 끝난 뒤에는 오른쪽에 공백이 없어야한다. 후..... 지겨워,,, 문제를 30분정도 걸려서 풀었는데 출력형식때문에 20분을 소모함;;
728x90
'코딩테스트 > 백준' 카테고리의 다른 글
백준 6987 월드컵 문제 해설(파이썬), dfs/시뮬레이션 연습 문제 (0) | 2021.11.20 |
---|---|
백준 16113 파이썬 풀이, 코드 (시뮬레이션 문제!) (1) | 2021.11.08 |
백준 12869 뮤탈리스크 풀이 (파이썬) dfs는 안되고 bfs는 되는 dp문제 (0) | 2021.11.03 |
백준 2616 소형기관차 해설/풀이 (파이썬), 골드4 다이나믹 프로그래밍 문제 (0) | 2021.11.01 |
백준 16506번 CPU 풀이/코드 (파이썬) 간단한 구현문제 (0) | 2021.10.31 |