본문 바로가기

분류 전체보기26

혼자서 하는 틱택토 문제프로그래머스의 문제로 3x3 행렬에 대한 데이터가 1차원 String 배열이 주어졌을때 틱택토 게임 법칙이 맞는지 아니면 잘못되었는지를 판단하는 문제이다. https://school.programmers.co.kr/learn/courses/30/lessons/160585 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 틱택토 게임은 선공은 O 를 후공은 X 가 되고 만약 가로, 세로, 대각선의 방향에서 한 줄을 모두 먼저 차지한 쪽이 승자가 된다. 만약, ["O.X", ".O.", "..X"] 1차원 배열이 주어졌을때 아래와 같이 나타낼 수 있는데 아래와 .. 2024. 7. 22.
210. Course Schedule II 문제 특정 과목을 수강하려고 할때, 먼저 수강해야하는 과목이 있는지 확인하고 배열에 담아 리턴하는 문제입니다. 위상정렬을 응용하는 문제로 207번 문제와 거의 동일한 문제입니다. 문제 풀이 207, 210번 문제를 풀기 전에 위상정렬이 무엇인지 먼저 공부하시는것을 추천드리며, 위상정렬을 학습하기 위해 DFS, BFS 풀이버전을 먼저 공유드리고 해당 문제 풀이를 공유드리겠습니다. 이론적인 설명은 간단히 코드에 주석으로 추가했습니다. 위상정렬 DFS // dfs 는 진출 간선이 없는것을 체크하고 저장하는 방식이고, // bfs 는 진입 간선이 없는것을 체크하고 저장하는 방식이다. // 서울대 교수님의 모 도서에는 dfs 방식을 더 선호한다고 기술되어 있습니다. public static void main(St.. 2024. 1. 27.
207. Course Schedule 문제 강의 수강 스케줄을 구현할 수 있는지 확인하는 문제입니다. 2차원 배열과 int 타입의 값이 주어집니다. 예를들어 아래와 같은 값이 주어지면, numCourses 는 수강할 수 있는 강의 개수이고, prerequisites 는 특정 강의를 수강하기위해 필요한 선수강의 과목을 나타냅니다. [1, 0] 은 1이라는 강의를 듣기 위해서는 0 이라는 강의를 먼저 수강해야 합니다. [0, 1] 은 0이라는 강의를 듣기 위해서는 1 이라는 강의를 먼저 수강해야 합니다. 위 예시는 0 -> 1 -> 0 -> 1... 와 같이 싸이클이 존재하기 때문에 강의 스케줄을 만들 수 없으므로 false 가 됩니다. 문제 풀이 public boolean canFinish(int numCourses, int[][] prere.. 2024. 1. 15.
399. Evaluate Division 문제 아래와 같은 식이 주어졌을때, a / c = ? 또는 b / a = ? 의 결과값이 무엇인지 계산하는 문제입니다. a / b = 2.0 b / c = 3.0 데이터 형태는 2차원 리스트와 double 형 배열이 주어집니다. equations = [["a","b"],["b","c"]] values = [2.0,3.0] queries = [["a","c"],["b","a"],["a","e"],["a","a"],["x","x"]] Output: [6.00000,0.50000,-1.00000,1.00000,-1.00000] 문제 풀이 양방향 그래프를 만들어서 풀어야 하는 문제입니다. 그래프간 간선은 맵을 이용하여 연결하도록 했습니다. 위 문제에서 그래프간 간선을 나타낸다면 아래 같이 연결됩니다. 2.0 3.. 2024. 1. 13.