정코딩
Home
  • 분류 전체보기 (421)
    • 알고리즘 (382)
      • Baekjoon (301)
      • SW Academy (39)
      • JUNGOL (7)
      • 프로그래머스 (33)
    • CS (4)
      • 알고리즘 (1)
    • 공부 (19)
      • JAVA (6)
      • BackEnd (4)
      • FrontEnd (3)
      • 프로젝트 (6)
    • 일상 (16)
      • 기타 (16)
Home
  • 분류 전체보기 (421)
    • 알고리즘 (382)
      • Baekjoon (301)
      • SW Academy (39)
      • JUNGOL (7)
      • 프로그래머스 (33)
    • CS (4)
      • 알고리즘 (1)
    • 공부 (19)
      • JAVA (6)
      • BackEnd (4)
      • FrontEnd (3)
      • 프로젝트 (6)
    • 일상 (16)
      • 기타 (16)
블로그 내 검색
Portfolio

정코딩

동의대학교 컴퓨터공학과 SSAFY 6기

  • 알고리즘/Baekjoon

    Baekjoon 9019 DSLR JAVA

    2021. 11. 5.

    by. soonil

    https://www.acmicpc.net/problem/9019

     

    9019번: DSLR

    네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에

    www.acmicpc.net

    https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%209019

     

    GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드

    JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.

    github.com

    해당 문제는 특정 계산을 통해 A를 B로 바꾸는 계산을 구하는 문제다.

     

    특정 계산은 총 4가지가 있으며 D,S,L,R이 존재한다

    D는 현재 값 * 2를 하고 9999보다 크면 10000을 나눈 나머지를 저장한다 

    S : 현재값현재 값 -1을 하며 만약 현재 값이 0 이면 9999가 된다

    L : 왼쪽으로 한 칸씩 밀어주기 젤 앞 값이 젤 뒤로 옴

    R : 오른쪽으로 한 칸씩 밀어주기 젤 뒤 값이 젤 앞으로 옴

     

    해당 문제는 bfs를 이용해서 해결했다.

    문제 자체는 어렵지 않았으며, 일단 체크해야 할게 수 범위가 9999 즉 최대 4자리라는 것과

    계산 결과를 어디다 저장해서 출력할지 였고, 수 범위가 9999이다 보니 배열을 하나 두고

    String형으로 저장해주었다.

     

    처음 입력 처리를 하고 시작 값을 큐에 넣어주고 bfs를 진행하며

    bfs에서 큐에서 값을 빼오면 DSLR을 진행하고 결과를 통해

    방문 배열을 체크해서 방문 안 했으면 방문 및 큐에 넣어주고 해당 연산 값을 연산 배열에 추가해준다

    이런 식으로 연산을 계속 추가해주고 최종 값과 같아지게 되면 배열을 출력해주는 식으로

    문제를 해결했다.

    728x90

    '알고리즘 > Baekjoon' 카테고리의 다른 글

    Baekjoon 1926 그림 JAVA  (0) 2021.11.05
    Baekjoon 12904 A와 B JAVA  (0) 2021.11.05
    Baekjoon 1978 소수 찾기 JAVA  (0) 2021.11.04
    Baekjoon 1463 1로 만들기 JAVA  (0) 2021.11.04
    Baekjoon 13305 주유소 JAVA  (0) 2021.11.04

    댓글

    관련글

    • Baekjoon 1926 그림 JAVA 2021.11.05
    • Baekjoon 12904 A와 B JAVA 2021.11.05
    • Baekjoon 1978 소수 찾기 JAVA 2021.11.04
    • Baekjoon 1463 1로 만들기 JAVA 2021.11.04
    맨 위로
전체 글 보기
  • Baekjoon
  • Solved
  • Github
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Designed by Nana
블로그 이미지
soonil

티스토리툴바