본문 바로가기

Algorithm197

[프로그래머스 lv1] 시저 암호 코딩테스트 연습 - 시저 암호 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀 programmers.co.kr 문제점 z를 넘기는 경우와 그렇지 않은 경우를 나눠서 계산해야하는데 그런것 구분 없이 계산함 #include using namespace std; string solution(string s, int n) { for(int i=0; i='A' && s[i] 'Z' ? s[i] += n -'Z'+'A'-1 : s[i] += n; } else if(s[i].. 2022. 5. 17.
[프로그래머스 lv1] 행렬의 덧셈 코딩테스트 연습 - 행렬의 덧셈 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 행렬의 덧셈 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요 programmers.co.kr 어려웠던 점 배열은 할 줄 알겠는데 이차원 백터는 어떻게 넣어야하는지 생각이 나지 않음 풀이 일단 많이 해봐서 익히기.. #include #include using namespace std; vector solution(vector arr1, vector arr2) { vector answer; for(int y=0;y 2022. 5. 13.
[백준 1110번] 더하기 사이클 1110번: 더하기 사이클 (acmicpc.net) 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 헷갈렸던 이유 자주 하던 실수?인데 while문 안에서 N을 리셋? 안해줘서 무한루프 돌아서 시간 초과남 바뀌는 값과 바뀌지 않아야 할 값을 구분하고 바뀌지 않아야 할 값은 전역이나 while문 밖에 저장해두고 바뀌는 값이 루프를 돌아 와서도 바뀌는지 체크하는 습관을 들이자. 정답코드 #include using namespace std; int main() { int N; int cnt = 1; .. 2022. 4. 21.
[백준 17413번] 단어 뒤집기 2 17413번: 단어 뒤집기 2 (acmicpc.net) 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net #include #include #include using namespace std; void print(stack &s) { while (!s.empty()) { cout 2022. 4. 19.
[백준 1874번] 스택 수열 1874번: 스택 수열 (acmicpc.net) 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net #include #include #include using namespace std; int main() { stack s; int n; string ans; cin >> n; int m = 0; while (n--) { int x; cin >> x; if (x > m) { while (x > m) { s.push(++m); ans .. 2022. 4. 10.
[백준 5635번] 생일 5635번: 생일 (acmicpc.net) 5635번: 생일 어떤 반에 있는 학생들의 생일이 주어졌을 때, 가장 나이가 적은 사람과 가장 많은 사람을 구하는 프로그램을 작성하시오. www.acmicpc.net pair 두개 말고 여러개 쓰고 싶을 땐 어떻게 쓰는지 vectorname(n); for(int i=0;i>name[i].second.second>>name[i].second.first>>name[i].first.second>>name[i].first.first; } sort를 사용할 때 pair의 first를 기준으로 정렬되기에 연도를 first.first로 구성. 93년생이 제일 어리기에 name [n-1]을 먼저 출력한다 [C++, STL] 구조체, pair 벡터 정렬 - 코드 다이어리 (ti.. 2022. 4. 9.