정규표현식은 문자열 패턴을 나타내는 표현 방식이다. 많은 경우 정규 표현식을 대체할 수 있는 자바 내장 라이브러리들이 있지만 경우에 따라 더욱 편리할 때가 있다. -자주 표현되는 정규표현식 정규표현식 내용 . 개행 문자를 제외한 아무 문자 [abc] a, b, c 중 아무것이나 [^abc] a, b, c를 제외하고 [a-g] a, g 사이의 문자들 [0-9], [a-z], [A-Z] => 모든 숫자, 소문자, 대문자 a* a 0개 이상 a+ a 1개 이상 a? a 0개 또는 1개 a{5} a 5개 a{2,} a 2개 이상 a{2,4} a 2개 이상 4개 이하 ab|cd ab 또는 cd ^a 문자열의 처음 문자가 a a$ 문자열의 마지막 문자가 a \ 사전 정의된 문자를 표현한느 이스케이프 시퀀스 -Str..
개발 공부/알고리즘
1. 문제 2. 풀이 1) 첫 번째 풀이 public int[] solution1(int n) { int max_num = n * (n + 1) / 2; int[] answer = new int[max_num]; int[][] triangle = new int[n][n]; int x = 0; int y = 0; int num = 1; int v = n; while (v > 0) { // 아래로 이동 for (int i = 0; i < v; i++) { triangle[y++][x] = num; num++; } y--; // index 범위 벗어남 다시 제자리로 x++; // 다음 위치로 이동 v--; for (int i = 0; i < v; i++) { triangle[y][x++] = num; num+..
import java.util.*; class Solution { public List solution(String s) { List answer = new ArrayList(); int[] alphabet = new int[26]; for(int i = 0 ; i < 26; i++){ alphabet[i] = -1; } for(int i = 0 ; i < s.length() ; i++){ int index = ((int)s.charAt(i) % 26); if(alphabet[index] == -1){ answer.add(-1); } else{ answer.add(i-alphabet[index]); } alphabet[index] = i; } return answer; } }
https://school.programmers.co.kr/learn/courses/30/lessons/87377?language=java 1. 문제 설명 Ax + By + C = 0으로 표현할 수 있는 n개의 직선이 주어질 때, 이 직선의 교점 중 정수 좌표에 별을 그리려 합니다. 예를 들어, 다음과 같은 직선 5개를 2x - y + 4 = 0 -2x - y + 4 = 0 -y + 1 = 0 5x - 8y - 12 = 0 5x + 8y + 12 = 0 좌표 평면 위에 그리면 아래 그림과 같습니다. 이때, 모든 교점의 좌표는 (4, 1), (4, -4), (-4, -4), (-4, 1), (0, 4), (1.5, 1.0), (2.1, -0.19), (0, -1.5), (-2.1, -0.19), (-1.5..