정코딩
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 17143 낚시왕 JAVA

    2021. 11. 14.

    by. soonil

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

     

    17143번: 낚시왕

    낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다.

    www.acmicpc.net

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

     

    GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드

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

    github.com

    해당 문제는 map이 주어지고 시간이 지난 뒤잡은 상어의 크기 합을 구하는 문제다

    ​

    상어에 관련 데이터가 많아 상어 클래스를 만들어서 진행했으며,

    상어를 이동시키는 부분에서 체크를 위해 배열을 2개 선언하거나 배열 하나와

    다른 자료구조를 사용하는 방법이 있으며

    ​

    배열 하나와 ArrayList를 사용해서 해결했다.

    map 입력할 때 상어 정보를 list에도 같이 넣어준다.

    ​

    1. 사람은 오른쪽으로 한 칸씩 이동한다.

    2. 땅에서 가장 가까운 상어를 잡는다. (잡으면 리스트에서 제거)

    3. 상어가 이동한다 각자 이동방향으로 속도만큼

    여기서 중요한 부분이 있는데, 일반적으로 돌리게 되면 시간 초과가 발생한다.

    그래서 연산을 해야 하는데,

    (열 - 1) * 2는 해당 열의로 돌아오는데 걸리는 횟수

    (행 - 1) * 2는 해 다행으로 돌아오는데 걸리는 횟수

    해당 부분을 잘 체크해서 연산을 해주면 된다.

    4. 이동을 끝냈는데 해당 자리에 상어가 없으면 상어를 이동시킨다.

    5. 상어가 있으면 크기 비교를 통해 큰 상어만 남겨둔다. 여기서 사라진 상어를 list에서 지워준다.

     

    728x90

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

    Baekjoon 10830 행렬 제곱 JAVA  (0) 2021.11.14
    Baekjoon 11401 이항 계수 3 JAVA  (0) 2021.11.14
    Baekjoon 14891 톱니바퀴 JAVA  (0) 2021.11.14
    Baekjoon 4358 생태학 JAVA  (0) 2021.11.14
    Baekjoon 11758 CCW JAVA  (0) 2021.11.14

    댓글

    관련글

    • Baekjoon 10830 행렬 제곱 JAVA 2021.11.14
    • Baekjoon 11401 이항 계수 3 JAVA 2021.11.14
    • Baekjoon 14891 톱니바퀴 JAVA 2021.11.14
    • Baekjoon 4358 생태학 JAVA 2021.11.14
    맨 위로
전체 글 보기
  • Baekjoon
  • Solved
  • Github
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Designed by Nana
블로그 이미지
soonil

티스토리툴바