[PCCP 기출 3번] 충돌위험 찾기
·
알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/340211 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제유형구현문제 난이도Lev2 문제 분석- x개의 로봇에 대해서 각자 도착해야하는 포인트 지점들이 주어진다.- 모든 로봇은 한 번에 한 칸씩만 움직일 수 있고, 자신이 도착해야하는 포인트들을 모두 거치면 종료된다.- 이때, 로봇끼리 만나는 경우를 충돌 위험 상황이라고 판단하고, 충돌 횟수를 구하는 문제이다. 만약, 같은 시간에 여러 개의 충돌이 일어난다면 모든 충돌을 각각 카운팅한다.- 최단 경로가 여러 개 존재할 경우, X좌표를 먼저 움직이는 ..
[PCCP 기출 2번] 퍼즐 게임 챌린지
·
알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/340212 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 난이도 - Lev2 문제 유형- 이진 탐색(binary Search)- 구현 문제 분석퍼즐의 난이도와 소요시간이 주어진다.만약 나의 숙련도보다 퍼즐의 난이도가 같거나 낮다면, 퍼즐의 소요 시간만큼 퍼즐을 푸는데 소요된다.만약 나의 숙련도보다 퍼즐의 난이도가 높다면틀린 횟수 = 나의 숙련도- 퍼즐의 난이도전체 소요 시간 = + 틀린 횟수 * (현재 퍼즐을 푸는데 걸린 시간 + 이전 퍼즐의 문제 풀이 시간) + 현재 퍼즐을 푸는데 걸린 시간만약..
[PCCP 기출 4번] 수식 복원하기
·
알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/340210 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 이해- 주어진 expressions 문자열 배열에 대하여 결과값이 있는 것과 "X"로 되어있는데, 해당 수식은 2진법부터 9진법 사이에 연산으로 이루어져있다.- 우리는 여기서 해당 수식들이 어떤 진법으로 계산되어있는지를 파악하고, "X"에 해당하는 정확한 연산 결과 값을 넣어서, result 배열에 출력하도록 한다.- 만약, 진법이 정확하게 유추가 되지 않는 상황이라면 결과값에 대해 "?"를 넣어 return 하도록 한다. 미리 알아두면 좋..
[백준 12100번] 2048 (Easy)
·
알고리즘
문제번호: https://www.acmicpc.net/problem/12100 문제의 종류구현시뮬레이션나의 풀이 과정최근 IM뱅크 코딩테스트 문제에서 구현 관련 문제가 나왔는데, 코드 길이가 길어지면서 실수가 많아졌고, 해당 문제를 풀지 못하였다. 그래서 당분간은 구현 문제들을 많이 풀어보면서 연습할 예정이고, 내일 현대 오토에버 코딩테스트도 예정되어 있기 때문에 겸사겸사 진행하려고 한다.문제 상황에 유의하면서 문제풀이를 진행한다.문제 상황1. 문제에서 이동하는 방향과는 반대의 방향으로 연산을 진행해야 한다.2. 먼저 이동할 방향에 대해서 move() 메소드로 이동하고, sum() 메소드를 통해 자신과 근접한 숫자가 같을 경우, 해당 숫자를 합해준다.3. 이후, 다시 move()함수를 이용하여, 0이 ..
[백준 16935번] 배열돌리기3
·
알고리즘
문제번호: https://www.acmicpc.net/problem/16935 문제의 유형구현 해당 문제풀이를 진행할 때, 최대한 단순하게 진행하려고 노력하였다. 이중 포문을 활용할 때, 변수를 4개 사용하는 대신, 조금 더 직관적으로 표현할 수 있어, 시간 복잡도는 늘어날지라도 헷갈리지 않기 위해 노력하였다. 중간에 배열을 오른쪽으로 90도 회전하거나, 왼쪽으로 90도 회전할 경우, 배열의 가로 행과 세로 행의 길이가 서로 달라지기 때문에 해당 부분은 유의해서 문제풀이를 진행하여야 한다. package _250517;import java.util.*;import java.io.*;/** *packageName : _250517 * fileName : BOJ_G5_16935_배열돌리기..