[Programmers] 124 나라의 숫자
·
Algorithm/Algorithm (문제풀이)
🔒 문제 💡 생각의 흐름 1,2,4 3개의 숫자만으로 한 자리씩 표현 총 자릿수는 3^N + 3^N-1 + 3^N-2 .... 3^0 => N+1 의 문자열 길이를 갖는다. 군 내에서 N번째 숫자를 3^N * n + 3^N-1 * n ... N+1 만큼 loop을 돌고 n을 이어붙이면 된다고 생각했다. 먼저, 10진수 -> 124나라의 숫자가 바로 생각나지 않으니 124나라의 숫자 -> 10진수변환을 곱씹어 보았다. 예를들면 10진수 '241' 3^2 * 2 + 3^1 * 4 + 3^0 * 1 >[0단계] 3마다 단위가 바뀌는 걸로 봐서 3진법!!!!!?!?!?! 근데 숫자 0과 4를 따로 처리해야겠네? [1단계] 124나라의 숫자의 길이 == 3^1 + 3^2 + 3^3 + .... 3의 제곱수의 누적..
[Programmers] 네트워크
·
Algorithm/Algorithm (문제풀이)
문제 문제 이해하기 여타 다른 문제와 입력값이 좀 다른데 다른 문제는 보통 graph matrix를 제시하고 1,0으로 vertex가 존재하는지 존재하지 않는지를 표현한다면 이 문제는 adjacecy matrix를 아예 입력값으로 제시한다. 때문에 다음과 같이 해석했다. (0)번 노드 기준 (1)번 노드 기준 (2)번 노드는 아무런 노드와도 연결되지 않았다. (2번 행 또는 열에서 자기 자신을 제외한 모든 원소 0) (3)번 노드 기준 따라서 위와 같은 4*4 인접 행렬이 주어졌을때 return 값 (그래프 수)는 2가된다. 해결 방법 방문 여부를 keep하는 visited[]행렬 대신 BFS로 방문하며 방문했던 노드의 자리를 0값으로 대치하여 모든 행렬의 원소가 0이될 때까지 BFS의 호출 수를 증가시..
[Java] 입출력 스트림
·
JVM/Java
Java Stream 이란 입/출력 데이터 흐름의 통로 입력 스트림은 소스 데이터로부터 데이터를 읽어들이고 출력 스트림은 목적 대상까지 데이터를 흘려보내 쓴다. Java Stream 특징 Queue , FIFO(First In First Out) 방식 Byte 단위로 흐른다. 입출력 대상에 따라 나뉜다. FileStream -> 파일 ByteArrayStream -> 메모리 (byte 배열) PipeStream -> 프로세스 Input/OutputStream InputStream 은 read() , OutputStream 은 write() 추상 메소드를 기본적으로 구현하게 되어있다. FileInput/Ouput Stream은 모두 In/Output Stream의 자식 abstract method read..
자바 정규식을 활용한 패스워드 정책설정 예제
·
JVM/Java
🎯 Goal 자바에서 기본적으로 제공하는 util 을 사용해서 비밀번호에 흔히 쓰이는 영문 + 숫자 + 특수문자 조합 정규식을 작성해본다. (커닝페이퍼로 가져다 쓰세요!) 1. 정규식을 통한 패턴 지정 String passwordPolicy = "((?=.*[a-z])(?=.*[0-9])(?=.*[^a-zA-Z0-9]).{8,})"; //소문자, 0~9 숫자, 특수문자 8자리 이상! 2. 패스워드 패턴화 import java.util.regex.Matcher; import java.util.regex.Pattern; Pattern pattern_pwd = Pattern.compile(passwordPolicy); Matcher matcher_pwd = pattern_pwd.matcher(userPassw..
자바 정규식이란?
·
JVM/Java
정규 표현식(Regular Expression)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. 줄여서 regix라고 칭한다. 각종 프로그래밍 언어에서 지원하고 있고, 자바에서는 regix 패키지를 통해 지원한다. 로그인 할 때 빈번하게 사용되는 정규표현식 정리 메타문자 설명 . 임의 1개 문자와 일치해야 함 * 메타 문자 앞의 문자가 0개 이상 일치해야 함 [...] 일치 문자 목록 [^...] 비일치 문자 목록 (...) 괄호 안의 문자열 하나로 처리 a-z 영 소문자 A-Z 영 대문자 0-9 숫자 가-힣 한글 {8, 15} 자수 제한 (8 ~ 15자. {8, } 은 최소 자수만 8자로 제한 자바 정규식을 사용하려면 regex package를 포함시켜줘야한다. 다음 포스팅에..
[Java] Couldn't find default class
·
JVM/Error
기본 클래스를 찾을 수 없습니다. 1. 환경변수 설정오류 2. public static void main(String[] args) 철자 오류 or 누락 3. package 패키지명;