"꾸준하고 완벽한 한 걸음"

string 32

[백준 01013] Contact [Java]

문제https://www.acmicpc.net/problem/1013 풀이입력으로 주어지는 여러 문자열들이 지문에서 주어진 패턴과 동일한 문자열인지 판별하는 문제다.정규표현식을 사용해 쉽게 풀이할 수 있다. Pattern pattern = Pattern.compile("^(100+1+|01)+$"); while (T-- > 0) { // Solve sb.append(pattern.matcher(br.readLine()).matches() ? "YES\\n" : "NO\\n"); }소스코드https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/nor..

[백준 30958] 서울사이버대학을 다니고 [Python]

문제서울사이버대학을 다니고 나의 성공 시대 시작됐다서울사이버대학을 다니고 나를 찾는 회사 많아졌다서울사이버대학을 다니고 내 인생이 달라졌다미래를 바꾸는 전략서울사이버대학교서울사이버대학교 로고송은 중독성 강한 멜로디로 매우 매우 유명하다. 빅데이터·AI센터에서 데이터 분석을 하던 노교수와 천교수는 어디선가 들려오는 로고송을 듣고 가장 많이 사용된 글자가 몇 번이나 등장하는지 궁금해졌다.멜로디에 중독된 두 교수를 대신해서 가장 많이 사용된 글자가 몇 번 등장하는지를 출력하자.입력 첫 번째 줄에 로고송의 길이 𝑁이 주어진다. 1 ≤ 𝑁 ≤10^5두 번째 줄에 로고송이 한 줄의 문자열로 주어진다. 문자열은 서울사이버대학교 로고송의 영문 번역이 반복되는 형태로 주어지며, 알파벳 소문자와 띄어쓰기, 쉼표, 마침..

[백준 06378] 디지털 루트 [Java]

문제양의 정수 N의 디지털 루트를 구하려면 N을 이루고 있는 모든 자리수를 더해야 한다. 이때, 더한 값이 한 자리 숫자라면, 그 수가 N의 디지털 루트가 된다. 두 자리 이상 숫자인 경우에는 다시 그 수를 이루고 있는 모든 자리수를 더해야 하며, 한 자리 숫자가 될 때 까지 반복한다.24의 디지털 루트를 구해보자. 2+4=6이다. 6은 한 자리 숫자이기 때문에, 24의 디지털 루트는 6이 된다. 39의 경우에는 3+9=12이기 때문에, 한 번 더 더해야 한다. 따라서, 1+2=3이 디지털 루트가 된다.양의 정수 N이 주어졌을 때, 그 수의 디지털 루트를 구하는 프로그램을 작성하시오.입력한 줄에 하나씩 양의 정수가 주어진다. 입력의 마지막 줄은 0으로 나타낸다.  수는 최대 1000자리이다.출력입력으로 ..

[백준 11383] 뚊 [Python]

문제정우는 "뚊"과 "돌돔"을 의미하는 두 이미지를 받았다. 과연 두 그림이 같은지 검사해보자. 즉 N× M 크기의 이미지와 N ×2 M 크기의 이미지가 주어질 때 첫 번째 이미지를 가로로 두 배로 늘이면 두 번째 이미지가 되는지 검사하는 프로그램을 작성하라.입력입력의 첫 번째 줄에 N, M (1 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄의 각 줄에는 M개의 문자가 주어진다. 다음 N개의 줄의 각 줄에는 2M개의 문자가 주어진다. 모든 문자는 영문 알파벳 대문자 혹은 소문자이다.출력첫 번째로 주어진 이미지를 가로로 두 배로 늘렸을 때 두 번째 이미지가 된다면 "Eyfa"을 출력하고, 되지 않는다면 "Not Eyfa"을 출력한다.풀이입력받은 문자열 N개의 문자열의 각 문자를 2배로 늘렸을 때 두번..

[엘리스 알고리즘 코드 챌린지 시즌 2] 예선 3일 [Python]

풀이입력받은 문자열 S에 대해 압축을 해제하는 문제다.압축된 문자열은 K(Q)의 형식으로 주어지며 이를 해제할 경우 Q를 K번 반복한다는 의미다.스택과, 재귀 중 스택으로 푸는 방법이 익숙해 스택을 사용해 풀이했다. K(K(Q)K(Q))와 같은 예외를 고려해 문자열의 역순으로 진행했다.정작 제공된 테스트케이스에는 이와 같은 예외가 없었다.우선 ')' 인 경우에는 그냥 stack에 집어넣자.그 다음에는 Q에 해당하는 수들이 들어올 것이다.만약 stack의 마지막 요소가 ')'가 아니라면 Q의 길이를 저장하는 방식이므로 주어진 수( num )를 넣거나 더해주자.탐색을 계속 진행해 '(' 가 나온다면 스택에 넣은 Q의 길이를 뽑아 K와 곱해준 후 다시 스택에 넣어주면 된다.이 과정에서 중복계산과 스택에 남아있..

Activity 2024.07.11

[백준 05949] Adding Commas [Python]

문제Bessie is working with large numbers N (1 입력Line 1: A single integer: N 출력Line 1: The integer N with commas inserted before each set of three digits except the first digits (as traditionally done in many cultures)풀이입력받은 수를 읽기 쉽도록 3자리마다 쉼표를 넣어 출력해주는 문제다.format함수를 사용해 쉽게 풀이할 수 있다.소스코드보기출처https://www.acmicpc.net/problem/5949