Java 문자열 뒤집기와 문자 카운팅 구현

1. 문자열 뒤집기 목표: 입력 문자열을 뒤집어 출력합니다. 예를 들어 "HelloWorld"는 "dlroWolleH"가 됩니다. 빈 문자열이나 공백만 있는 문자열도 처리해야 합니다. 접근 방식 문자열을 문자 배열로 변환한 후 양쪽 끝에서부터 교환 두 포인터(left, right)를 사용하여 중앙까지 반복 코드 public class StringReversal { public static void main(String[] args ...

6월 18일 22:22에 게시됨

MySQL에서 중복 데이터 제거하고 유일한 레코드만 남기기

대용량 테이블에서 중복된 행을 제거하고 각 그룹당 하나의 레코드만 유지하는 작업은 데이터 정제 과정에서 자주 발생하는 요구사항입니다. MySQL에서는 서브쿼리와 메인 쿼리가 동일한 테이블을 참조할 경우 제약이 있으므로, 이를 우회하는 방법이 필요합니다. 단일 필드 기준 중복 제거 예를 들어, user_id가 중복된 사용자 정보에서 가장 작은 ID를 가진 레코드만 보 ...

6월 18일 01:25에 게시됨

USACO 2022년 11월 대회 문제 풀이: 외톨이 사진과 단어 맞추기

문제 1: 외톨이 사진(Lonely Photo) 농장주 존이 N마리의 소를 새로 샀다. 각 소는 게른지(Guernsey) 또는 홀스틴(Holstein) 품종이다. 소들이 한 줄로 서 있을 때, 길이가 3 이상인 모든 연속 구간에 대해 사진을 찍는다. 단, 구간 내에 특정 품종이 정확히 한 마리만 존재하는 "외톨이 사진"은 폐기처분한다. 폐기되는 사진의 총 개수를 구하라. 입력 첫 줄: N (소의 ...

6월 16일 01:00에 게시됨

Python 문자열의 시작 여부 확인: startswith 메서드 활용

startswith 메서드란? Python에서 str.startswith()은 주어진 문자열이 특정 접두사(prefix)로 시작하는지 여부를 판단하는 내장 문자열 메서드입니다. 이 메서드는 조건 검사, 데이터 필터링, 입력 유효성 검증 등 다양한 시나리오에서 유용하게 사용됩니다. 기본 구문 문자열.startswith(접두사[, 시작_인덱스[, 종료_인덱스]]) 접두사: 반드시 필요하며, 하나의 ...

6월 9일 02:10에 게시됨

CS50 pset2 서브스티튜션 암호 구현 및 개선 전략

1. 작업 효율성을 높이는 개발 전략: VS Code 플러그인 활용 장문의 과제 지침을 처리할 때, 반복적인 페이지 전환과 정보 추출은 생산성을 저하시킵니다. 이 문제를 해결하기 위해 Todo+ 또는 Markdown All in One 같은 확장 프로그램을 활용하는 것이 효과적입니다. 작업 절차는 다음과 같습니다: 새로운 .todo 파일을 생성하고, 과제 요구사항을 전체 복사합니다. 필 ...

6월 6일 17:09에 게시됨

MySQL 문자열, 날짜, 집계 함수 활용 기법

문자열 처리 FIND_IN_SET을 이용한 콤마 구분 값 검색 FIND_IN_SET(substring, str) 함수는 주어진 하위 문자열이 콤마로 구분된 문자열 내에 존재하는지 확인하고, 첫 번째 일치 위치를 반환합니다. 매칭되지 않으면 0을 반환하며, 대상 문자열이 콤마로 분리되지 않은 경우에도 정상 동작하지 않습니다. SELECT FIND_IN_SET('b', 'a,b,c'); -- 결과: 2 SELECT FIND_IN_ ...

6월 1일 21:02에 게시됨

문자열 처리 알고리즘: 역순 및 변환 기법

문자열 역순 처리 알고리즘 문자열을 효율적으로 역순으로 처리하는 기본 알고리즘은 두 개의 포인터를 사용하여 문자열의 양쪽 끝에서 중앙으로 이동하며 요소를 교환하는 방식입니다. 이 방법은 공간 복잡도 O(1)로 문자열을 역순으로 만들 수 있어 매우 효율적입니다. 문제 1: 문자열 전체 역순 이 문제에서는 문자 배열을 입력으로 받아 해당 배열의 내용을 역순으로 ...

5월 25일 22:27에 게시됨

정규 표현식 기초 및 활용

정규 표현식이란? 문자열의 패턴을 정의하여 특정 조건에 맞는 텍스트를 검색하거나 검증하는 도구입니다. 컴퓨터가 이해할 수 있는 문자열 일치 규칙을 표현합니다. 표현 방식 var regex1 = new RegExp('패턴', '옵션'); var regex2 = /패턴/옵션; 기본 매칭 문자 \d: 숫자(0-9) 하나와 매칭 \D: 숫자가 아닌 문자 하나와 매칭 \w: 영문자, 숫자, 언더스코어 포 ...

5월 24일 10:13에 게시됨

Python 기초 문제 풀이 및 해설

Python 기초 문제 풀이 문제 1: 행운의 숫자 쌍 두 숫자가 차이가 3이고 각 자릿수의 합이 6으로 나누어떨어지는 행운의 숫자 쌍을 판별하는 함수를 작성하세요. 모든 3자리 행운의 숫자 쌍을 찾아야 합니다. def is_lucky_number(num): hundreds = num // 100 tens = (num // 10) % 10 units = num % 10 digit_sum = hundreds + tens + units ...

5월 21일 01:05에 게시됨