본문 바로가기
회고/코딩테스트

2021 와디즈 코딩챌린지 1번 : we make CODE #better

by 방구쟁이 2021. 8. 22.
728x90

시작

알고리즘 문제를 접하기 위해 와디즈 코딩챌린지를 신청하였다. 호수와 비밀번호를 입력하여 조건에 맞게 입력한 횟수를 구하는 문제로 많은 풀이법 중 주어진 배열을 그대로 활용하여 문제를 풀어보았다.

wadiz 로고

나의 풀이

JAVA로 작성한 코드

package test;

import java.util.Arrays;
import java.util.Collections;

public class wadiz1 {
	public static void main(String[] args) {
		int[][] passwords = {{101,9999},{102,1111}};
		String s = "101#9999#102#1111#101#9999#101#9999#";
		System.out.println(solution(passwords, s));
	}
	
	public static int solution(int[][] passwords, String s) {
		int answer = 0;
		String[] sList = s.split("#");
		int sListSize = sList.length;
		for(int i = 0; i < sListSize; i++) {
			if(check(passwords, Integer.parseInt(sList[i]), 0)) {
				try {
					if(check(passwords, Integer.parseInt(sList[i+1]), 1)) {//(i+1) < sListSize-1 && 
						System.out.println(""+sList[i]+" : "+sList[i+1]);
						answer++;
						i++;
					}
				} catch (Exception e) {
					// TODO: handle exception
				}
			}
		}
        return answer;
    }
	
	private static boolean check(int[][] passwords, int checkNum, int type) {
		int passwordSize = passwords.length;
		for(int i = 0; i < passwordSize; i++ ) {
			if(passwords[i][type] == checkNum) {
				return true;
			}
		}
		return false;
	}
}

 

테스트 케이스는 통과하였고 그대로 제출하였다.

728x90

댓글