목록전체 글 (135)
100세까지 코딩
문제 설명 풀기 전 생각 문제 설명이 너무 상세히 나와 쉽게 따라했다 charAt(), String.length(), String.equals() 사용하는 것을 익히는 문제라고 생각했다. class Solution { public String solution(String code) { String answer = ""; int mode = 0; String ret = ""; for(int i = 0; i < code.length(); i++){ if(mode == 0){ // mode가 0일때 if(code.charAt(i)=='1'){ // 1이면 mode 바꾸기 mode = 1; }else{ if(i%2==0){ // 짝수면 ret += code.charAt(i); } } }else{ // mode가..
문제 설명 풀기 전 생각 나머지 기호로 짝수, 홀수를 나누기 문제가 원하는 계산을 한 후 그것에 맞는 크기로 temp 배열을 생성하여 복사하기 arr에 temp를 얕은 복사 하여 계산 후 나온 배열을 지속적으로 전역적으로 쓸 수 있게 하기 class Solution { public int[] solution(int[] arr, int[] query) { int[] answer = {}; for(int i = 0 ; i < query.length; i++) { // query 배열 끝까지 if(i%2 == 0) { // 짝수면 int[] temp = new int[query[i]+1]; // query[i]번 뒷부분을 자르면 남는 크기로 temp 배열을 만듬 for(int j = 0; j < temp.le..
문제 설명 풀기 전 생각 4개의 숫자를 배열에 넣어 오름차순으로 정렬하기 반복문을 돌려 i와 i+1을 비교해서 같으면 same ++ 하고 sameValue에 값 넣기 이전 sameValue가 0이 아니고 현재 값과 다르면 중복이 2개라는 표시하기 앞과 비교해서 다르면 이전 중복 값과 현재 값이 비교, 같으면 arr[i+1]을 differentValue에 넣고 그 이외에는 arr [i]를 differentValue에 넣기 same과 twoSameValue로 경우를 나눠 게임 방식대로 계산 class Solution { public int solution(int a,int b, int c, int d) { int[] arr = {a, b, c, d}; int answer = 0; int same = 0; /..
문제 설명 풀기 전 생각 반복문을 돌려 cnt가 n*n개가 되면 반복을 멈추기 나선형이니 오른쪽 -> 아래쪽 -> 왼쪽 -> 위쪽을 반복하기 if문을 방향마다 나눠서 그 방향으로 계속 진행하는 반복문을 실행 반복문을 실행하다가 끝지점에 왔거나 진행 방향의 다음칸이 0 이 아닌 다른 숫자가 이미 있으면 방향 전환 class Solution { public int[][] solution(int n) { int[][] answer = new int[n][n]; // n X n 크기의 배열 생성 int cnt = 0; // 갯수 int direction = 1; // 방향 1: 오른쪽, 2: 아래쪽, 3: 왼쪽, 4: 위쪽 int x = 0; // 행 int y = 0; // 열 while(cnt < n*n){..
문제 설명 풀기 전 생각 quiz배열을 순회하면서 공백을 기준으로 수식을 자른것을 새로운 배열(formula)에 넣기 formula 배열에서 수식 부분을 + , - 인지 확인 만약 +이면 string의 숫자를 int로 바꿔 덧셈을 하고 결과 확인 후 맞으면 O, 틀리면 X -일때도 동일 class Solution { public String[] solution(String[] quiz) { String[] answer = new String[quiz.length]; // 답변 배열은 퀴즈만큼의 길이 for(int i = 0 ; i < quiz.length;i++){ String[] formula = quiz[i].split(" "); // 공백을 기준으로 수식을 자르기 if(formula[1].equal..