Algorithm/Programmers

Algorithm/Programmers

[Lv.2] 빛의 경로 사이클

import java.util.*; class Solution { Set passedWaySet =new HashSet(); String[] targetGrid; public int[] solution(String[] grid) { List ansList=new ArrayList(); targetGrid=grid.clone(); for (int i = 0; i < grid.length; i++) { for (int j = 0; j < grid[i].length(); j++) { Way down = new Way(i, j, 'D'); Way up = new Way(i, j, 'U'); Way right = new Way(i, j, 'R'); Way left = new Way(i, j, 'L'); //지나간..

Algorithm/Programmers

[Lv.2] 미로 탈출

import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; class Solution { String[] targetMap; boolean[][] visited=new boolean[101][101]; public int solution(String[] maps) { int answer = 0; targetMap=maps.clone(); Point start,lever,exit; start=new Point(-1,-1,-1); lever=new Point(-1,-1,-1); exit=new Point(-1,-1,-1); for (int i = 0; i < maps.length; i++) { for (int j = 0; j <..

Algorithm/Programmers

[Lv.2] 혼자서 하는 틱택토

class Solution { private static String[] gameBoard; public int solution(String[] board) { //X가 더 많으면 무조건 false //O와 X의 차이가 2이상이면 false //O로 끝낸경우, X는 O갯수보다 하나 작다 //X로 끝낸경우, X는 O의 갯수와 같다. //O,X둘 다 끝낸 경우는 존재하지 않는다. gameBoard=board.clone(); int countX=0, countO=0; for (String s : board) { countO+= s.chars().filter(c -> c == 'O').count(); countX+= s.chars().filter(c -> c == 'X').count(); } if(countX>..

Algorithm/Programmers

[Lv.2] 당구 연습

import java.util.ArrayList; import java.util.List; class Solution { public int[] solution(int m, int n, int startX, int startY, int[][] balls) { List ansList=new ArrayList(); for (int[] ball : balls) { int targetX=ball[0]; int targetY=ball[1]; if(targetX==startX){ int widthPow=(targetY-startY)*(targetY-startY); int heightPow1,heightPow2; heightPow1=(2*(m-targetX))*(2*(m-targetX)); heightPow2=(2*..

Algorithm/Programmers

[Lv.2] 리코챗 로봇

66.7/100 코드 import java.util.*; import java.util.stream.Collectors; public class Solution { public static int answer=Integer.MAX_VALUE; public int solution(String[] board) { //일단 dfs로 .. ㄱ ㄱ int x = 0,y=0; boolean findFlag=false; for (int j=0;janswer) return; List possiblePoint = getPossiblePoint(point, board); //이동 가능한 점이 없는 경우 return if(possiblePoint.isEmpty()) return; possiblePoint.forEach(pt..

Algorithm/Programmers

[Lv.2]광물 캐기

import java.util.*; import java.util.stream.Collectors; public class Solution { public int solution(int[] picks, String[] minerals) { int answer = 0; int diaPick=picks[0]; int steelPick=picks[1]; int stonePick=picks[2]; //만약 광물은 30개인데 곡괭이는 2개인 경우 //청크는 10개까지만, 즉 2개만 나와야 함 //만약 sort한 청크 index가 4,2,1,0 ..이런식이면 안됨 0,1 청크 두개만 비교해야 함 //그러니, 받아온 광물 리스트를 캘수있는 만큼 까지만 잘라서 sort List mineralList = Arrays.s..

Algorithm/Programmers

[Lv.2] 과제 진행하기

import java.util.*; import java.util.stream.Collectors; class Solution { public String[] solution(String[][] plans) { String[] answer = {}; Comparator comparator=new Comparator(){ @Override public int compare(String[] o1, String[] o2) { String[] time1 = o1[1].split(":"); String[] time2 = o2[1].split(":"); //System.out.println("o1: "+o1[0]+" o2: "+o2[0]); //System.out.println("time 1 : "+time1[0]..

시롱시롱
'Algorithm/Programmers' 카테고리의 글 목록 (8 Page)