전체 방문자
오늘
어제
이대코
ServerNeverDown
이대코
  • 분류 전체보기 (110)
    • Project (9)
      • GASIP_대학 커뮤니티 (5)
      • CATCHROOM_야놀자중고숙박거래 (2)
      • CANCER-FINE_암환자를 위한 정보 제공 사.. (2)
    • Development (46)
      • Python (9)
      • Java (8)
      • Kotlin (1)
      • Spring&Springboot (4)
      • BootCamp (10)
      • DevOps (1)
      • TrobleShooting (6)
      • Network (1)
      • DataBase (2)
      • OS (1)
      • Design Pattern (2)
    • Coding Test (52)
      • BOJ (1)
      • DFS,BFS (4)
      • 그리디 알고리즘 (6)
      • Dynamic Programming (2)
      • 이진 탐색 (0)
      • 초보자를 위한 파이썬 300제 (29)
      • 구현 (10)
    • Stock (3)
      • Market View (2)
      • Analysis of stocks (0)
      • Knowledge (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

인기 글

hELLO · Designed By 정상우.
이대코
Coding Test/구현

[구현 알고리즘] 1926. 간단한 369게임 (파이썬)

Coding Test/구현

[구현 알고리즘] 1926. 간단한 369게임 (파이썬)

2023. 4. 17. 13:54

안녕하세요. Harry입니다.

 

본 포스팅의 목적은, 코딩테스트를 준비함에 있어 SWEA에 제시된 문제 풀이와 스스로 얻은 정보를 정리하고자 합니다.

그러므로 단순히 문제를 푸는 것이 중요한 것이 아니라, 문제를 통해 얻어가는 것이 있어야하기 때문에 접근 방식은 이전 기초 300제를 풀었을 때랑 동일합니다.

 

[접근 방식]

- 문제에서 요구하는 역량은 무엇인지?

- 알고 있어야하는 지식은 무엇인지? 에 기반하여 풀이하고자 합니다.

 

- SWEA 문제 링크입니다. : https://swexpertacademy.com/main/code/problem/problemDetail.do

 

 

 

[풀이 아이디어]

- 숫자가 2자리 이상인지, 아닌지로 구분한다.

- 한자리 숫자일 경우, 그대로 출력하거나, 3,6,9에 해당할 시 - 를 출력하도록 한다.

- 두자리 수 이상일 경우, 숫자를 문자로 변환하여 해당 숫자에서 3,6,9가 들어간 개수가 몇개인지 count한다.

- count 개수만큼 -를 출력하고, count가 0 인 경우, 숫자 그대로 출력한다.

- n개까지 반복문을 돌리고, 일렬로 출력한다.

 

- SWEA의 경우, 이처럼 출력값을 일렬로 나열하도록 하는 문제가 많은 편이다.

    -> 이럴 경우, print(출력값, end=" ") 로 작성하면 출력값별로 띄어쓰기를 적용하여 일렬로 출력한다.

[코드]

n = int(input())
for i in range(1,n+1):
# 10미만의 숫자 중 3,6,9는 - 로 출력
if i < 10 and i in [3,6,9]:
print('-', end=' ')
continue
# 10미만의 숫자 중 3,6,9빼고 나머지는 그대로 출력
elif i < 10 and i != [3,6,9]:
print(i, end= ' ')
continue
# 10이상의 숫자는 아래 조건을 따른다
if i >=10:
count = 0
# i -> 문자열 변환 후 한 글자씩 3,6,9에 해당하는지 체크
for j in str(i):
if j in ['3','6','9']:
count += 1
if count != 0:
print('-'*count,end=' ')
if count == 0:
print(i, end= ' ')

SWEA 난이도의 편차가 심한 편인데, 이정도가 딱 D2 정도라고 생각한다.

 

감사합니다.

저작자표시 비영리 변경금지 (새창열림)

'Coding Test > 구현' 카테고리의 다른 글

[구현 알고리즘] 1989. 초심자의 회문 검사 (파이썬)  (0) 2023.04.17
[구현 알고리즘] 2001. 파리 퇴치 (파이썬)  (0) 2023.04.17
[구현 알고리즘] 2005. 파스칼의 삼각형 (파이썬)  (0) 2023.04.17
[구현 알고리즘] 2007. 패턴 마디의 길이 (파이썬)  (0) 2023.04.17
[이코테][구현] 왕실의 나이트 문제풀이(파이썬)  (2) 2023.01.27
    'Coding Test/구현' 카테고리의 다른 글
    • [구현 알고리즘] 2001. 파리 퇴치 (파이썬)
    • [구현 알고리즘] 2005. 파스칼의 삼각형 (파이썬)
    • [구현 알고리즘] 2007. 패턴 마디의 길이 (파이썬)
    • [이코테][구현] 왕실의 나이트 문제풀이(파이썬)
    이대코
    이대코
    20대에 대장암 걸린 코틀린/자바 백엔드 개발자의 블로그입니다.

    티스토리툴바

    개인정보

    • 티스토리 홈
    • 포럼
    • 로그인

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.