전체 글
-
[문자열] 암호Algorithm 2025. 10. 2. 15:35
설명현수는 영희에게 알파벳 대문자로 구성된 비밀편지를 매일 컴퓨터를 이용해 보냅니다.비밀편지는 현수와 영희가 서로 약속한 암호로 구성되어 있습니다.비밀편지는 알파벳 한 문자마다 # 또는 *이 일곱 개로 구성되어 있습니다.만약 현수가 “#*****#”으로 구성된 문자를 보냈다면 영희는 현수와 약속한 규칙대로 다음과 같이 해석합니다.1. “#*****#”를 일곱자리의 이진수로 바꿉니다. #은 이진수의 1로, *이진수의 0으로 변환합니다. 결과는 “1000001”로 변환됩니다.2. 바뀐 2진수를 10진수화 합니다. “1000001”을 10진수화 하면 65가 됩니다.3. 아스키 번호가 65문자로 변환합니다. 즉 아스크번호 65는 대문자 'A'입니다.참고로 대문자들의 아스키 번호는 'A'는 65번, ‘B'는 66..
-
[문자열] 문자열 압축Algorithm 2025. 10. 2. 14:16
설명알파벳 대문자로 이루어진 문자열을 입력받아 같은 문자가 연속으로 반복되는 경우 반복되는문자 바로 오른쪽에 반복 횟수를 표기하는 방법으로 문자열을 압축하는 프로그램을 작성하시오.단 반복횟수가 1인 경우 생략합니다.입력첫 줄에 문자열이 주어진다. 문자열의 길이는 100을 넘지 않는다.출력첫 줄에 압축된 문자열을 출력한다.예시 입력 1 KKHSSSSSSSE예시 출력 1K2HS7E예시 입력 2 KSTTTSEEKFKKKDJJGG예시 출력 2KST3SE2KFK3DJ2G2 문제풀이public class chap11 { public String solution(String str){ String answer = ""; str = str+" "; // 마지막 알파벳 숫자를 위해 ..
-
[문자열] 유효한 팰린드롬Algorithm 2025. 9. 24. 22:14
8. 유효한 팰린드롬설명앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 팰린드롬이라고 합니다.문자열이 입력되면 해당 문자열이 팰린드롬이면 "YES", 아니면 “NO"를 출력하는 프로그램을 작성하세요.단 회문을 검사할 때 알파벳만 가지고 회문을 검사하며, 대소문자를 구분하지 않습니다.알파벳 이외의 문자들의 무시합니다.입력첫 줄에 길이 100을 넘지 않는 공백이 있는 문자열이 주어집니다.출력첫 번째 줄에 팰린드롬인지의 결과를 YES 또는 NO로 출력합니다.예시 입력 1 found7, time: study; Yduts; emit, 7Dnuof예시 출력 1YES 문제풀이 1(문자열 자체 활용)package org.example.infrenJavaCodingTest.section2;import java.util..
-
PriorityQueueAlgorithm 2025. 8. 11. 21:53
package org.example.infrenJavaCodingTest.section9;import java.util.*;class Lecture implements Comparable { public int money; public int time; public Lecture(int money, int time) { this.money = money; this.time = time; } @Override public int compareTo(Lecture o) { return o.time-this.time; }}public class chap4_PriorityQueue { static int n, max = Integer..
-
[백준] 1238 파티Algorithm 2025. 8. 9. 21:42
https://www.acmicpc.net/problem/1238 해당 문제는 생각을 조금 바꾸면 성능을 향상시킬 수 있다. 다익스트라는 출발점에서 각각의 목적지까지 최단거리를 알아내는 것.그러나 문제에서는 목적지가 주어짐. 이때, 역방향 그래프를 이용하면 한번의 다익스트라 실행으로 각 경로의 최단거리를 모두 알아낼 수 있다. 첫번째 제출 n,m,x = map(int, input().split())INF = int(1e8)graph = [[] for _ in range(n+1)]graph2 = [[] for _ in range(n+1)]distance = [INF]*(n+1)distance2 = [INF]*(n+1)for _ in range(m): u,v,w = map(int,input().spl..
-
-
애노테이션 정리(8/5-)JavaSpring 2025. 8. 5. 23:47
8/5@NoArgsConstructor(access = AccessLevel.PROTECTED): 파라미터가 없는 생성자를 자동으로 생성해준다* access 옵션과 접근제어자PUBLIC: 기본값이며, 모든 클래스에서 생성자에 접근 가능PROTECTED: 같은 패키지의 클래스와 상속받은 클래스에서 생성자에 접근 가능PACKAGE: 같은 패키지의 클래스에서 생성자에 접근 가능PRIVATE: 해당 클래스 내부에서만 생성자에 접근 가능 @AllArgsConstructor: 모든 파라미터를 받는 생성자를 자동으로 생성해준다 @GeneratedValue(strategy = GenerationType.IDENTITY)
-
[백준] 10820 문자열 분석Algorithm 2025. 8. 5. 22:35
[문제]https://www.acmicpc.net/problem/10820 [풀이] import syspublic class Solution { public static void main(String[] args) { lines = [] try: while True: line = input() if line == "": break lines.append(line) except EOFError: pass for l in lines: a, A, digit, space = 0, 0, ..