본문 바로가기

전체 글239

[백준 *Java] - 구슬 탈출 2(13460) 구슬 탈출2 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 👇 접근 방식 이 문제는 처음에 전에 풀었떤 두 동전(16197) 문제와 유사해서 1차 로직 설계는 금방 했던 거 같습니다. 제 생각은 이 문제 풀기 전에, 두 동전 문제 풀고 오시면, 훨씬 이해하기도 쉽고 계단식의 문풀을 경험할 수 있을 거 같아요. 1차 로직 설계는 1. 두 구슬 위치를 저장해 놓기. (R, B 구분을 해주어야합니다. 따라서, 구슬 한 객체에 두 구슬 위치 값을 넣습니다) 2. 두 .. 2022. 5. 15.
[백준 *Java] - 가르침(1062) 가르침 1062번: 가르침 첫째 줄에 단어의 개수 N과 K가 주어진다. N은 50보다 작거나 같은 자연수이고, K는 26보다 작거나 같은 자연수 또는 0이다. 둘째 줄부터 N개의 줄에 남극 언어의 단어가 주어진다. 단어는 영어 소문 www.acmicpc.net 문제 남극에 사는 김지민 선생님은 학생들이 되도록이면 많은 단어를 읽을 수 있도록 하려고 한다. 그러나 지구온난화로 인해 얼음이 녹아서 곧 학교가 무너지기 때문에, 김지민은 K개의 글자를 가르칠 시간 밖에 없다. 김지민이 가르치고 난 후에는, 학생들은 그 K개의 글자로만 이루어진 단어만을 읽을 수 있다. 김지민은 어떤 K개의 글자를 가르쳐야 학생들이 읽을 수 있는 단어의 개수가 최대가 되는지 고민에 빠졌다. 남극언어의 모든 단어는 "anta"로 시.. 2022. 5. 15.
[프로그래머스 *Java] - 오픈채팅방 오픈채팅방 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 👇 접근방식 처음에는 고민을 많이했던 문제였습니다. 고민을 하다 앞으로 이런 문제를 풀 때 규칙을 갖고 문제에 접근하면 좋을 거 같다 생각했습니다. 일단 return 값을 출력할 때, change 된 닉네임은 change가 되어있는 상태에서 return 이 되어야합니다. 고로 해당 id에 바뀌던, 바뀌지않던, 최종 nickname 을 알고 있어야 한다는 점입니다. 그리고 출력할 땐, 순서를 기억해서 들어왔고 나갔고를 출력해줘야 합니다. 이 부분은 입력.. 2022. 5. 12.
[프로그래머스 *Java] - 수식 최대화 수식최대화 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 👇 접근방식 처음에는 백준에서 풀었던 문제 중에, 연산자 끼워넣기랑 비슷하다고 생각을 했습니다. 그래서 그 기반으로 문제를 풀었습니다. 입력받은 식에서 피연산자와 연산자는 위치가 바뀌면 안됩니다. 그 상황에서 *, - , + 라는 세 연산자가 우선순위를 갖어 문제를 구현하는 방식입니다. 일단, 우선수위라는 건 세 연산자의 조합을 통해 총 6가지의 우선순위 조합을 갖는 다는 걸 알 수 있습니다. 이 부분은, String으로 미리 값을 넣던지, 방문처리.. 2022. 5. 12.
[백준 *Java] - 알파벳(1987) 알파벳 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 문제 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다. 좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있는지를.. 2022. 5. 12.
[백준 *Java] - 스도쿠(2580) 스도쿠 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net 문제 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루어진 정사각형 판 위에서 이뤄지는데, 게임 시작 전 일부 칸에는 1부터 9까지의 숫자 중 하나가 쓰여 있다. 나머지 빈 칸을 채우는 방식은 다음과 같다. 각각의 가로줄과 세로줄에는 1부터 9까지의 숫자가 한 번씩만 나타나야 한다. 굵은 선으로 구분되어 있는.. 2022. 5. 11.