본문 바로가기

728x90

다알지ai

[프로그래머스/JAVA] 고득점Kit > 깊이/너비 우선 탐색 > 아이템 줍기 (by 다알쥐AI) 고득점Kit > 깊이/너비 우선 탐색 > 아이템 줍기  ※ 문제풀이 방법은 다양합니다. 참고만 해주세요 ※[문제설명]더보기다음과 같은 다각형 모양 지형에서 캐릭터가 아이템을 줍기 위해 이동하려 합니다.지형은 각 변이 x축, y축과 평행한 직사각형이 겹쳐진 형태로 표현하며, 캐릭터는 이 다각형의 둘레(굵은 선)를 따라서 이동합니다.만약 직사각형을 겹친 후 다음과 같이 중앙에 빈 공간이 생기는 경우, 다각형의 가장 바깥쪽 테두리가 캐릭터의 이동 경로가 됩니다.단, 서로 다른 두 직사각형의 x축 좌표 또는 y축 좌표가 같은 경우는 없습니다.즉, 위 그림처럼 서로 다른 두 직사각형이 꼭짓점에서 만나거나, 변이 겹치는 경우 등은 없습니다.다음 그림과 같이 지형이 2개 이상으로 분리된 경우도 없습니다.한 직사각형이.. 더보기
[프로그래머스/JAVA] 고득점Kit > 깊이/너비 우선 탐색 > 단어 변환 (by 다알쥐AI) 고득점Kit > 깊이/너비 우선 탐색 > 단어 변환  ※ 문제풀이 방법은 다양합니다. 참고만 해주세요 ※[문제설명]더보기두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다.1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다.2. words에 있는 단어로만 변환할 수 있습니다.예를 들어 begin이 "hit", target가 "cog", words가 ["hot","dot","dog","lot","log","cog"]라면 "hit" -> "hot" -> "dot" -> "dog" -> "cog"와 같이 4단계를 거쳐 변환할 수 있습니다.두 개의 단어 begin, target과 단.. 더보기
[프로그래머스/JAVA] 고득점Kit > 깊이/너비 우선 탐색 > 게임 맵 최단거리 (by 다알쥐AI) 고득점Kit > 깊이/너비 우선 탐색 > 게임 맵 최단거리   ※ 문제풀이 방법은 다양합니다. 참고만 해주세요 ※[문제설명]더보기ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다.지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의 캐릭터가 (행: 1, 열: 1) 위치에 있고, 상대 팀 진영은 (행: 5, 열: 5) 위치에 있는 경우의 예시입니다.위 그림에서 검은색 부분은 벽으로 막혀있어 갈 수 없는 길이며, 흰색 부분은 갈 수 있는 길입니다. 캐릭터가 움직일 때는 동, 서, 남, 북 방향으로 한 칸씩 이동하며, 게임 맵을 벗어난 길은 갈 .. 더보기
[프로그래머스/JAVA] 고득점Kit > 깊이/너비 우선 탐색 > 네트워크 (by 다알쥐AI) 고득점Kit > 깊이/너비 우선 탐색 > 네트워크  ※ 문제풀이 방법은 다양합니다. 참고만 해주세요 ※[문제설명]더보기네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다.컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오.제한사항컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다.각 컴퓨터는.. 더보기
[프로그래머스/JAVA] 고득점Kit > 깊이/너비 우선 탐색 > 타켓 넘버 (by 다알쥐AI) 고득점Kit > 깊이/너비 우선 탐색 > 타켓 넘버  ※ 문제풀이 방법은 다양합니다. 참고만 해주세요 ※[문제설명]더보기n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다.-1+1+1+1+1 = 3+1-1+1+1+1 = 3+1+1-1+1+1 = 3+1+1+1-1+1 = 3+1+1+1+1-1 = 3사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요.제한사항주어지는 숫자의 개수는 2개 이상.. 더보기
[프로그래머스/JAVA] 고득점Kit > 그래프 > 순위 (by 다알쥐AI) 고득점Kit > 그래프 > 순위  ※ 문제풀이 방법은 다양합니다. 참고만 해주세요 ※[문제설명]더보기n명의 권투선수가 권투 대회에 참여했고 각각 1번부터 n번까지 번호를 받았습니다. 권투 경기는 1대1 방식으로 진행이 되고, 만약 A 선수가 B 선수보다 실력이 좋다면 A 선수는 B 선수를 항상 이깁니다. 심판은 주어진 경기 결과를 가지고 선수들의 순위를 매기려 합니다. 하지만 몇몇 경기 결과를 분실하여 정확하게 순위를 매길 수 없습니다.선수의 수 n, 경기 결과를 담은 2차원 배열 results가 매개변수로 주어질 때 정확하게 순위를 매길 수 있는 선수의 수를 return 하도록 solution 함수를 작성해주세요.제한사항선수의 수는 1명 이상 100명 이하입니다.경기 결과는 1개 이상 4,500개 이하.. 더보기
[프로그래머스/JAVA] 고득점Kit > 그래프 > 가장 먼 노드 (by 다알쥐AI) 고득점Kit > 그래프 > 가장 먼 노드  ※ 문제풀이 방법은 다양합니다. 참고만 해주세요 ※[문제설명]더보기 n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다.노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성해주세요.제한사항노드의 개수 n은 2 이상 20,000 이하입니다.간선은 양방향이며 총 1개 이상 50,000개 이하의 간선이 있습니다.vertex 배열 각 행 [a.. 더보기
[프로그래머스/JAVA] PCCP 기출문제 > 3번 > 아날로그 시계 (by 다알쥐AI) [아날로그 시계] PCCP 기출문제 > 3번 > 아날로그 시계 ※ 문제풀이 방법은 다양합니다. 참고만 해주세요 ※ [문제설명] 더보기 시침, 분침, 초침이 있는 아날로그시계가 있습니다. 시계의 시침은 12시간마다, 분침은 60분마다, 초침은 60초마다 시계를 한 바퀴 돕니다. 따라서 시침, 분침, 초침이 움직이는 속도는 일정하며 각각 다릅니다. 이 시계에는 초침이 시침/분침과 겹칠 때마다 알람이 울리는 기능이 있습니다. 당신은 특정 시간 동안 알람이 울린 횟수를 알고 싶습니다. 다음은 0시 5분 30초부터 0시 7분 0초까지 알람이 울린 횟수를 세는 예시입니다. 가장 짧은 바늘이 시침, 중간 길이인 바늘이 분침, 가장 긴 바늘이 초침입니다. 알람이 울리는 횟수를 세기 시작한 시각은 0시 5분 30초입니다.. 더보기

728x90