정코딩
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 17244 아맞다우산 JAVA

    2021. 11. 13.

    by. soonil

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

     

    17244번: 아맞다우산

    경재씨는 저녁 약속을 가기 전 챙기지 않은 물건들이 있는 지 확인하고 있다. 필요한 물건은 전부 챙긴 것 같았고 외출 후 돌아오는 길에 경재씨는 외쳤다. "아 맞다 우산!!!" 경재 씨는 매번 외출

    www.acmicpc.net

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

     

    GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드

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

    github.com

    해당 문제는 전에 풀었던 백준 1194 달이 차오른다, 가자. 문제랑 비슷한 문제다.

    https://blog.naver.com/soonil0119/222521105430

     

    Baekjoon 1194 달이 차오른다, 가자. JAVA

    https://www.acmicpc.net/problem/1194 https://github.com/JUNGSOONIL/JAVA/blob/main/BA...

    blog.naver.com

    map이 주어지는데 #은 벽 .은 이동 가능한 공간 X는 물건이며 물건을 모두 챙겨서

    S에서 시작해서 E까지 몇 번 만에 가는지 구하는 문제다.

    ​

    입력을 받아주면서 map에 X 값이 들어가 있으면 해당 값을 0, 1, 2...으로 바꿔준다.

    이후 시작점 S는 큐에 삽입한 뒤 bfs를 진행한다.

    ​

    이때 방문 배열을 3차원으로 만들어 두는데 마지막에 1<<5

    즉 비트 마스킹을 이용해서 물건 들고 간 여부를 확인하여 준다.

    ​

    최종적으로 bfs에서 빠져나오는 부분에서 현재 E 부분에

    도착했고 key 값이 n.key == (1<<x-'0')-1 즉 물건이 4개면

    (1<<5) - 1한값이 물건 4개를 모두 가진 값이 되기 때문에 해당 식을 이용하며,

    추가적으로 현재 x 값을 char형으로 두었기 때문에 '0'을 빼주고, x 값은 입력받으면서

    x++로 사용하였기 때문에 물건 개수보다 1 크기 때문에 그냥 계산하면 된다.

    ​

    728x90

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

    Baekjoon 2468 안전영역 JAVA  (0) 2021.11.13
    Baekjoon 2458 키 순서 JAVA  (0) 2021.11.13
    Baekjoon 1194 달이 차오른다, 가자. JAVA  (0) 2021.11.13
    Baekjoon 1707 이분 그래프 JAVA  (0) 2021.11.13
    Baekjoon 4485 녹색 옷 입은 애가 젤다지? JAVA  (0) 2021.11.13

    댓글

    관련글

    • Baekjoon 2468 안전영역 JAVA 2021.11.13
    • Baekjoon 2458 키 순서 JAVA 2021.11.13
    • Baekjoon 1194 달이 차오른다, 가자. JAVA 2021.11.13
    • Baekjoon 1707 이분 그래프 JAVA 2021.11.13
    맨 위로
전체 글 보기
  • Baekjoon
  • Solved
  • Github
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Designed by Nana
블로그 이미지
soonil

티스토리툴바