본문 바로가기

vector

(9)
[C++/BOJ] 5430 : AC (자료구조) https://www.acmicpc.net/problem/5430 문제 선영이는 주말에 할 일이 없어서 새로운 언어 AC를 만들었다. AC는 정수 배열에 연산을 하기 위해 만든 언어이다. 이 언어에는 두 가지 함수 R(뒤집기)과 D(버리기)가 있다. 함수 R은 배열에 있는 수의 순서를 뒤집는 함수이고, D는 첫 번째 수를 버리는 함수이다. 배열이 비어있는데 D를 사용한 경우에는 에러가 발생한다. 함수는 조합해서 한 번에 사용할 수 있다. 예를 들어, "AB"는 A를 수행한 다음에 바로 이어서 B를 수행하는 함수이다. 예를 들어, "RDD"는 배열을 뒤집은 다음 처음 두 수를 버리는 함수이다. 배열의 초기값과 수행할 함수가 주어졌을 때, 최종 결과를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케..
[문제해결기법] 1. C++ 1. 사용 언어 C : 가장 익숙하지만 지원 기능이 적음 C++ : STL에서 제공하는 기능을 활용 Java : java.util에 유용한 기능이 많다. 실행시간이 느려서 속도에서 제한을 받음 Python : 프로그래밍이 쉽지만, 실행시간이 가장 느리다. 2. 문제 해결 -> 기본적으로 자료구조, 알고리즘, 프로그래밍 능력을 묻는 문제 3. auto for(auto a : A){ ~ } 4. for : 반복문 5. pair 6. STL : standard template library made by HP in 1994 코드를 짧고 빠르게 작성할 수 있도록 도와줌. 7. template template const T& my_max(const T&x, const T&y){ return (y { 1, 3 } ..
[C++/PGS] Lv.3 : 베스트앨범 (해시 / map정렬) https://school.programmers.co.kr/learn/courses/30/lessons/42579 문제 설명 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 plays가 주어질 때, 베스트 앨범에 들어갈 노래의 고유 번호를 순서대로 return 하도록 solution 함수를 완성하세요. 은근 ..
[C++/PGS] Lv.1 : 신고 결과 받기 (카카오 기출) https://school.programmers.co.kr/learn/courses/30/lessons/92334 2022 카카오 블라인드 코테 기출 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판..
[알고리즘] 문자열 다루기 - 로마숫자(cpp) 로마인들은 로마 숫자를 사용했다. 1은 I, 5는 V, 10은 X로 표현했고, I, V, X가 나타내는 문자열은 각 글자가 나타내는 수의 합이다. 예를 들어 XVI = 10 + 5 + 1 = 16이다. 단, IV는 4이고 IX는 9이다. 예를 들어 IVI = 4 + 1 = 5이다. 위의 예외에 추가로, IIV는 3이고 IIX는 8이라고 하자. 반드시 IIV, IIX는 3, 8이어야 한다. 즉 IIV는 1 + 1 + 5 = 7도 아니고, 1 + 4 = 5도 아니고, 반드시 3이어야 하는 것이다. 최대 길이가 10인 로마 숫자를 나타내는 문자열이 주어질 때 이 문자열이 나타내는 수를 출력하는 프로그램을 작성하시오. 입력 표준 입력으로 입력을 받는다. 최대 길이가 10인 문자열이 주어지고, 이 문자열은 I, ..
[C++/BOJ] 2149 : 암호 해독 문제 어떤 문장을 키를 이용하여 다음과 같이 암호화하려 한다. 암호화하기 전의 문장을 평문이라 하며, 암호화 된 문장은 암호문이라고 한다. 키, 평문, 암호문은 모두 영어 대문자로 된 공백 없는 문장이다. 키의 길이를 N이라고 했을 때, 우선 평문을 N 글자씩 잘라서 다음과 같이 나열한다. 예를 들어 평문이 MEETMEBYTHEOLDOAKTREENTH 이고, 키가 BATBOY라고 해 보자. 제일 윗줄은 이해를 돕기 위해 키를 다시 한 번 쓴 것이다. 이제 이 행렬(배열)을 열(Column) 단위로 정렬을 하는데, 정렬을 하는 키준은 키의 문자로 한다. 즉 BATBOY를 정렬하여 ABBOTY와 같이 정렬하는 것이다. B와 같이 여러 번 나타나는 문자의 경우에는 원래의 행렬에서 더 왼쪽에 있었던 것을 먼저 ..
[C++/백준] 1924 : 2007년 문제 오늘은 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일일까? 이를 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다. 출력 첫째 줄에 x월 y일이 무슨 요일인지에 따라 SUN, MON, TUE, WED, THU, FRI, SAT중 하나를 출력한다. 백준 열심히 해야지..... 이 문제는 날짜 요일 맞추는 구현? DP? 문제이다 사실 난이도도 쉬워서 딱히 분류의 의미도 없긴함 브론즈 1티어 문제이다 1월 입력은 따로 빼놨다가 나중에 왜 이렇게 했지...?..
[PGS] Lv.0 (코딩테스트 입문) 12일차 문제 프로그래머스 레벨 0 문자열, 정렬, 사칙연산, 수학 ✍🏻 문자열 대체 → my_string.replace(j,1,""); : 인덱스 j의 원소부터 길이 1만큼을 “”로 대체 ✍🏻 문자 내용이 숫자인지? → isdigit(c) : 숫자면 양수, 아니면 0을 리턴함 ✍🏻 vector to set → set s(v.begin(), v.end()); ✍🏻 set to vector → vector v(s.begin(), s.end()); 모음 제거 string solution(string my_string) { string m = "aeiou"; for(int i=0; i

728x90