https://www.acmicpc.net/problem/2870 2870번: 수학숙제 종이에서 찾은 숫자의 개수를 M이라고 하면, 출력은 M줄로 이루어져야 한다. 각 줄에는 종이에서 찾은 숫자를 하나씩 출력해야 한다. 이때, 비내림차순으로 출력해야 한다. 비내림차순은 내림차 www.acmicpc.net 문제 상근이는 수학시간에 딴 짓을 하다가 선생님께 걸렸다. 선생님은 상근이에게 이번 주말동안 반성하라며 엄청난 숙제를 내주었다. 선생님이 상근이에게 준 종이에는 숫자와 알파벳 소문자로 되어있는 글자가 N줄있다. 상근이는 여기서 숫자를 모두 찾은 뒤, 이 숫자를 비내림차순으로 정리해야한다. 숫자의 앞에 0이 있는 경우에는 정리하면서 생략할 수 있다. 글자를 살펴보다가 숫자가 나오는 경우에는, 가능한 가장 ..
https://www.acmicpc.net/problem/1543 1543번: 문서 검색 세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한 www.acmicpc.net 문제 세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한다. 예를 들어, 문서가 abababa이고, 그리고 찾으려는 단어가 ababa라면, 세준이의 이 함수는 이 단어를 0번부터 찾을 수 있고, 2번부터도 찾을 수 있다. 그러나 동시에 셀 수는 없다. 세준이는 문서와..
1) 정규 표현식 문법 ^ 문자열 시작 $ 문자열 끝 . 문자 하나 * 문자 0번 이상 + 문자 1번 이상 ? 문자 0번 또는 1번 [] 문자 하나의 범위 ex) [^a-z] : 알파벳 소문자 제외 [0-9A-Z] : 숫자이거나 알파벳 대문자 {} 문자 발생 횟수 () 그룹핑 \b 단어의 경계 \B 단어가 아닌 것의 경계 \s 공백문자 \S 공백이 아닌 나머지 문자 \w 알파벳 또는 숫자 \W 알파벳이나 숫자를 제외한 문자 \d 숫자 \D 숫자를 제외한 모든 문자 (?i) 대소문자 구분 없이 알파벳 비교 * 정규 표현식 앞에 사용 2) 자주 사용하는 정규 표현식 [0-9] 숫자 [a-zA-Z] 알파벳 [가-힣] 한글 \\w+@\\w+\\.\\w+(\\.\\w+)? 이메일 주소 \d{2,3}-\d{3,4}..
https://school.programmers.co.kr/learn/courses/30/lessons/42893 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2019 KAKAO BLIND RECRUITMENT Level 3 문제다. 입력으로 들어온 웹페이지의 매칭 점수를 각 구하고, 매칭 점수가 들어있는 list를 정렬해 list의 가장 앞에 있는 페이지의 인덱스를 반환하면 된다. 이를 구현하기 위해 먼저 Page class를 만든다. 클래스에는 url, score(기본 점수), idx, outlink_cnt(외부 링크 수), match(매칭 점수),..
https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2018 KAKAO BLIND RECRUITMENT 3차 Level 2 문제다. 문제에 나와있는 LZW 압축 과정 순서대로 구현하면 된다. 단계 5는 단계 2로 돌아가는 것이므로 재귀적으로 함수를 구현했다. 과정을 읽기보다는 입출력 예시를 참고하는 게 더 이해가 쉬웠다. 1.길이가 1인 모든 단어를 포함하도록 사전을 초기화한다. char c = 'A'; // A~Z 사전에 추가 for(int i=..
https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2018 KAKAO BLIND RECRUITMENT 3차 Level 2 문제다. 먼저 [files.length][4] 크기의 2차원 배열 file을 생성한다. 0에는 files의 파일명, 1에는 head, 2에는 number, 3에는 tail을 저장해서 Arrays.sort를 통해 1, 2를 기준으로 정렬한다. ans에 file의 0을 넣어 반환하면 된다. 파일명을 한글자씩 sb에 저장하고, 숫자..
https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2018 KAKAO BLIND RECRUITMENT 3차 Level 2 문제다. n: 2, t: 4, m: 2, p: 1인 입출력 예시1에서, result는 0111이다. 각 숫자 순서대로 0의 2진수에서, 2의 2진수, 3의 2진수, 4의 2진수에서 뽑은 숫자들이다. 즉, 0~4까지를 2진수로 변환하면 result가 완성된다. 0~4까지의 2진수를 문자열로 늘어놓으면 011011100과 같다. ..
https://school.programmers.co.kr/learn/courses/30/lessons/17678 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2018 KAKAO BLIND RECRUITMENT 1차 Level 3 문제다. 먼저 매개변수로 들어온 n, t에 맞게 t분 간격으로 n개의 버스를 생성해 bus[]에 버스 출발시간을 차례로 넣는다. 그리고 ArrayList[] 형식의 crew에 버스 시간에 맞게 크루의 도착 시간을 넣는다. 예를 들어 bus가 {540, 550, 560}이고 crew[2] 에 555가 들어가있다면, 555(9:1..