본문 바로가기

분류 전체보기985

문자열 카운팅. 문자열 및 숫자가 입력 값에 대해 몇 개가 존재하는지 검사해야하는 경우 추천하는 자료구조와 선택의 이유는 다음과 같다. 1. 배열 배열은 int 형으로 변환이 가능한 경우 추천한다. 다만 문자열이더라도 아스키 코드로 변환이 가능한 경우에는 배열을 사용하는 것이 유리할 수 있다. 2. Map map 자료구조는 쌍을 이루는 자료구조이다. 이는 String 혹은 입력의 크기가 1000만을 넘어가거나, 각 입력이 10만, 100만 과 같이 순차적으로 분리되어 들어오는 경우 추천한다. 이에 대한 연습 문제로 백준 10808번 문제를 풀어본다. 문제 해석. 문제 : 각 알파벳이 단어에 몇 개 포함되어 있는지 구하는 프로그램 입력은 알파벳 소문자 단어 ( 100을 넘지 않음) 출력은 알파벳 단어에 포함되어 있는 알파.. 2023. 7. 1.
Video Protocol 보호되어 있는 글 입니다. 2023. 6. 29.
Live/VoD 보호되어 있는 글 입니다. 2023. 6. 29.
OAuth 2.0 Spring Security 연동, 기능 파악 노션에 작성하고 복사 붙여 넣기 하는 게 더 이쁜 것 같다... 현재까지 개발 상황 : https://github.com/sungil-yu/oauth GitHub - sungil-yu/oauth: Spring Boot 3.1, JDK 17, OAuth 2.0, OIDC Practice Spring Boot 3.1, JDK 17, OAuth 2.0, OIDC Practice. Contribute to sungil-yu/oauth development by creating an account on GitHub. github.com 2023.06.21 - [Spring|Spring-boot] - OAuth 2.0 동작방식, 개발환경 구성, 클라이언트 등록, 프런트 개발 OAuth 2.0 동작방식, 개발환경 구.. 2023. 6. 27.
2309 백준의 2309 문제를 읽었을 때 조합이 생각났다. 9명 중 7명을 뽑아 키의 합이 100인 경우 통과이며, 가능한 정답이 여러 개인 경우가 있다고 했기 때문에 정답 시 프로그램을 종료 시켜야한다. 이를 기반으로 코드를 작성해보자. #include using namespace std; int k = 7; int n = 9; int a[9]; void combi(int start, vector b){ if(b.size() == k){ int sum = 0; for(int height : b) sum += height; if(sum == 100){ sort(b.begin(), b.end()); for(int height : b) cout a[i]; vector b; combi(-1, b); return 0;.. 2023. 6. 26.
개발 용어 나도 개발자이긴 한데, 무슨 용어인지 가끔 문서를 읽을 때 이해할 수 없는 단어가 있는 경우가 있다. 이러한 단어를 약간 정리하려고 한다. backlog - 백로그는 제품 개발에 필요한 요구사항을 모두 모아 우선순위를 부여해놓은 목록을 말한다. - story : 백로그에 담겨질 요구사항으로, 고객의 요구사항을 간단한 시나리오로 표현한 것 release - 릴리즈는 몇 개의 요구사항이 적용되어 부분적으로 기능이 완료된 제품을 제공하는 것 middleware - 미들웨어는 주로 상하 관계나 동종 관계로 구분할 수 있는 프로그램들 사이에서 매개 역할을 하거나 프레임워크 역할을 하는 일련의 중간 계층 프로그램을 일컫는다. TOC( total cost of ownership) - 총 소유 비용이란 PC나 서버 등.. 2023. 6. 26.
prefix sum 누적합에 대한 공부를 진행했다. 이를 다른 말로 구간 쿼리, 여기선 구간 sum 쿼리라고 한다고 한다. 이러한 문제를 푸는 방법은 prefix sum, 펜윅트리 방식들이 있다고 한다. 내가 연습한 예제는 static 배열이여서 prefix sum이 적합하다고 하셨고, 동적 배열, 즉 배열의 각 요소가 동적으로 변경되는 경우는 펜윅트리를 사용해야 한다고 한다. 우선 다음과 같은 문제가 발생한다고 생각해보자. N개의 자연수이고, M개의 질문을 한다고 가정하자. 예를 들면 10개의 자연수를 주고 3개의 질문을 하는데, 이 질문에는 범위가 포함되어 있다. 2부터 5까지 제공된 수의 합을 구하라, 1~10까지의 제공된 수의 합을 구하라. 등등의 질문이 연속적으로 나온다. 단순하게 접근했을 때 n개의 입력을 받고,.. 2023. 6. 25.
sort func ex1 3개의 멤버변수 정렬. 3개의 멤버변수를 갖는 구조체가 있다. 각 변수 x, y, z는 int 타입이며, 정렬 시 다음 조건을 만족한다. 1. x는 1순위 오름차순 2. y는 2순위 내림차순 3. z는 3순위 오름차순. 우선 구조체를 정의한다. struct Triangle{ int x,y,z; Triangle(int x, int y, int z) : x(x), y(y), z(z){} Triangle(){ x = 0, y =0 , z=0; } bool operator t.y; } return x < t.x; } }; 테스트를 위해 main 함수 내부에서 s.. 2023. 6. 25.
pair, tuple pair와 tuple은 타입이나 자료구조가 아니다. 이는 utility 라이브러리 헤더의 템플릿 클래스입니다. C++에서 `pair`와 `tuple`은 두 가지 다른 데이터 구조로, 서로 다른 용도와 특징을 가지고 있습니다. pair - pair는 두 개의 요소를 담는 데이터 구조입니다. 각 요소는 서로 다른 자료형일 수 있습니다. - std::pair 템플릿 클래스로 제공되며, `` 헤더 파일에 정의되어 있습니다. - 주로 두 개의 값을 하나로 묶어야 할 때 사용됩니다. 예를 들어, 키-값 쌍이나 두 개의 연관된 데이터를 표현할 때 유용합니다. - 요소는 .first와 .second 멤버로 접근할 수 있습니다. 예를 들어, `myPair.first`는 첫 번째 요소에 접근하고, `myPair.secon.. 2023. 6. 24.
문자열 숫자 변환 입력받은 문자열 기반으로 문자형 타입이 숫자의 형식을 가지고 있는지 판별할 필요가 있다. 함수 `atoi`는 C++에서 C 언어의 표준 라이브러리 함수로서, 문자열을 정수로 변환하는 역할을 합니다. C++에서 `atoi` 함수를 사용하려면 `` 헤더 파일을 포함해야 합니다. `atoi` 함수의 시그니처는 다음과 같습니다: int atoi(const char* str); - 반환값: `atoi` 함수는 변환된 정수 값을 반환합니다. 문자열이 유효한 정수로 변환되지 않을 경우 0을 반환합니다. - 파라미터 종류: `atoi` 함수는 단일 파라미터로 문자열의 포인터(`const char*`)를 받습니다. 이 문자열은 정수로 변환될 수 있는 형태여야 합니다. 주의할 점은 `atoi` 함수는 변환할 수 없는 문자.. 2023. 6. 24.