[C++] regex_replace() 함수
·
Major/C&C++
regex_replace.(문자열, regex(정규식), 치환 문자열) 문자열 안에있는 정규식으로 표현된 내용이 치환문자열로 치환된다 위 함수를 사용하기 위해서는 regex 헤더파일을 include 해줘야한다. 코딩테스트 연습 - 숫자 문자열과 영단어 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr #include #include int solution(string s) { s = regex_replace(s, regex("zero"), "0");..
[백준] 14502 연구소(C++)
·
Algorithm/Solution
https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 난이도 : 골드 5 풀이 과정 : 최근에 코테를 몇번 참가해보면서 구현을 정확하고 빠르게 푸는 것의 중요성을 깨달았다. 이 문제는 구현+bfs인데, 백준에서 bfs문제중 바이러스 문제가 있어서 그거 먼저 풀면 도움이 될듯하다. n과 m이 최대 8까지기 때문에 완탐! 으로 가능하다 왜냐면 0이나올수 있는 곳에 벽 3개를 두는 것이기 때문에 최대 64C3 번 연산 이기 때문 관건은 벽 3개를 두는 방법을 어떻게 ..
[Gitofolio] 자신의 프로필 카드를 만들자 !
·
회고 | 후기
Gitofolio(웹 페이지) Gitofolio 💎 Decorate Github, Notion, Blog etc... gitofolio.com 1. 프로젝트 기간 : 2021.12~ 2022.2 2. 서비스 개요 gitofolio/gitofolio: 💎 Github, Notion, Blog... 를 자신의 이력 카드로 꾸미세요 GitHub - gitofolio/gitofolio: 💎 Github, Notion, Blog... 를 자신의 이력 카드로 꾸미세요 💎 Github, Notion, Blog... 를 자신의 이력 카드로 꾸미세요. Contribute to gitofolio/gitofolio development by creating an account on GitHub. github.com 3. 역..
[백준] 2110 공유기 설치(C++)
·
Algorithm/Solution
2110번: 공유기 설치 (acmicpc.net) 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 난이도 : 골드5 풀이방법: 이분탐색 문제인데, 내가 구한 방식은 일단 좌표를 오름차순으로 정렬을하고, 첫번째 인덱스부터 시작해서 반복문을 돌려 차이가 mid이상이면 두 점 차이가 가능하다는 의미에서 chk=true로 해주었고, 공유기 개수를 +1 해준다. 그다음 mid이상이나오는 인덱스부터 다시시작해서 다음번째 그다다다음번째가 mid이상인지 계속 체크해서 공유..
[자바로 배우는 리팩토링 입문] 10장 에러 코드를 예외로 치환
·
Major/Java
* 예외 처리 1. 예외란 - 예외 : 잘못된 코드, 부정확한 데이터, 예외적인 상황에 의하여 발생하는 오류 2. 예외 처리기 (try-catch, throws) try{ // 예외가 발생할 수 있는 코드 } catch{ // 예외 처리 } finally { // try 블록이 끝나면 무조건 실행된다 } public void writeList() throws IOException { ... } 3. 예외의 종류 1) Error - 자바 가상 기계 안에서 치명적인 오류 발생 - H/W 문제 등으로 파일을 읽을 수 없는 경우 - 컴파일러가 체크하지 않음! 2) RuntimeException - 프로그래밍 버그나 논리 오류에 기인한다 - 컴파일러가 체크하지 않음! 3) 기타 예외 - 회복할 수 있는 예외로 반..
[자바로 배우는 리팩토링 입문] 9장 분류 코드를 상태/전략 패턴 치환
·
Major/Java
1. 리팩토링 1) 분류 코드를 상태/전략 패턴으로 치환 - 이 리팩토링은 상태(전략)패턴이라는 디자인 패턴을 이용하여 리팩토링 한다. 2) 리팩토링 카탈로그 이름 분류 코드를 상태/전략 패턴으로 치환 상황 분류 코드마다 객체가 다른 동작을 함 문제 동작을 switch문으로 나누고 있지만 분류 코드가 동적으로 변하므로 분류코드를 하위 클래스로 치환은 사용 불가 해법 분류 코드를 나타내는 새로운 클래스를 작성해서 상태/전략 패턴을 사용함 결과 o 분류 코드 타입 판별이 가능해짐 o 분류 코드에 따른 클래스 동작을 다형성으로 해결 가능 x 클래스 개수가 늘어남 2. 예제 프로그램 클래스명 역할 Logger 로깅 클래스 State 상태 객체를 나타내는 추상 클래스 StateStopped STATE_STOPPE..
[파일 처리] 11 텍스트를 위한 화일
·
Major/Database
1. 텍스트를 위한 파일 1) 개념 : 텍스트 필드로만 구성된 레코드를 접근할 수 있는 화일 2) 특징 - 텍스트 필드는 하나의 필드 안에 여러 개의 탐색 값(단어, keyword)가 포함 - keyword : '데이터베이스', '시스템', '질의어' 라는 단어를 어떤 방법으로 탐색할 것 2. 역 리스트 화일 1) 특징 - 역 리스트 화일 구조 : 인덱스 화일 + 포스팅 화일 + 데이터 화일로 구성 - 인덱스 화일 : 키워드 + 관련 레코드 수 + 포스팅에 대한 포인터 - 포스팅 화일 : 키워드를 포함한 데이터 레코드에 대한 포인터 리스트, 발생빈도, 키워드의 중요도, 발생 위치 추가 - 데이터 화일 : 문서 화일 2) 예시 - 키워드는 가나다 순으로 정렬 3) 장단점 ⓐ 장점 : 구현이 용이, 속도가 ..
[자바로 배우는 리팩토링 입문] 8장 분류 코드를 하위 클래스로 치환
·
Major/Java
1. 리팩토링 1) 분류 코드를 하위 클래스로 치환 - 분류코드의 종류에 따라 다른 동작을 한다면, 하위 클래스로 치환하는 리팩토링이 좋다 - 상위 클래스에 선언한 메서드를 오버라이드해서 다형적 메서드로 만드는 것이 핵심 2) 리팩토링 카탈로그 이름 분류 코드를 하위 클래스로 치환 상황 분류 코드마다 객체가 다른 동작을 함 문제 switch 문을 써서 동작을 구분함 해법 분류 코드를 하위 클래스로 치환해서 다형적 메서드를 작성함 결과 o 동작이 클래스별로 나뉨 x 클래스 개수가 늘어남 3) 구조와 동작 - 구조 : 프로그램의 정적인 성질 - 동작 : 프로그램의 동적인 성질 👉 분류 코드를 하위 클래스로 치환 리팩토링은 하위 클래스라는 '구조'를 새로 만들거나, switch 문 하나에 모여있던 '동작'을 ..
[자바로 배우는 리팩토링 입문] 7장 분류 코드를 클래스로 치환
·
Major/Java
1. 리팩토링 1) 분류 코드를 클래스로 치환 - 분류 코드는 객체 종류를 나타내는 값 - 분류 코드가 int와 같은 기본 타입이면 분류 코드 범위 밖의 값이 사용되거나 다른 분류 코드와 착각할 수있음 👉 타입 판별이 되지 않는 또는 타입 세이프가 아닌 문제 2) 리팩토링 카탈로그 이름 분류 코드를 클래스로 치환 상황 객체를 식별하기 위한 분류 코드가 int 같은 기본 타입임 문제 타입 판별이 안됨 해법 분류 코드를 나타내는 새로운 클래스 작성 결과 o 분류 코드의 타입 판별이 가능해짐 x 클래스 개수가 늘어남 2. 예제 프로그램 클래스명 역할 Item 상품(책, DVD, 소프트웨어)을 나타내는 클래스 ItemType 분류 코드를 나타내는 클래스(리팩토링으로 새로 작성) Main Item 사용법 예제 클..