알고리즘(37)
-
프로그래머스 - 핸드폰 번호 가리기 < Level 1 >
문제 설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 4 이상, 20이하인 문자열입니다. 풀이 사용 언어 : C++ #include #include using namespace std; string solution(string phone_number) { for (int i = 0; i
2020.05.27 -
프로그래머스 - 시저암호 < Level 1 >
문제 설명 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됩니다. z는 1만큼 밀면 a가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. 제한 조건 공백은 아무리 밀어도 공백입니다. s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다. s의 길이는 8000이하입니다. n은 1 이상, 25이하인 자연수입니다. 풀이 사용 언어 : C++ #include #include using namespace std; string solution(string s, int n) { string answer = ""; for ..
2020.05.27 -
백준알고리즘 - 2562 최댓값 <브론즈 3>
문제 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. 입력 첫 째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다. 출력 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다. 풀이 사용 언어 : C++ #include #include int main() { int idx = 0; int max = 0; std::vector num; //아직 아무것도 넣지 않았으므로 empty상태 for (int..
2020.05.01 -
백준알고리즘 - 10818 최소, 최대 <브론즈 3>
문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 출력 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. 풀이 사용 언어 : C++ #include int main() { int n = 0; int max = -1000000; //범위가 정해져있으므로 각각 극한으로 초기화해준다 int min = 1000000; std::cin >> n; int s[n] = {}; for(int i = 0; i < n; i ++) { ..
2020.04.29 -
백준알고리즘 - 10817 세 수 <브론즈 3>
문제 세 정수 A, B, C가 주어진다. 이때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100) 출력 두 번째로 큰 정수를 출력한다. 풀이 사용 언어 : C++ #include int main() { int A, B, C; int a = 0; std::cin >> A >> B >> C; if ((A >= B && A = C && A A > B || B > A > C { a = A; } else if ((B = C) || (B >= A && B B > C || C > B > A { a = B; } else if ((C >= A && C = B && C C > A || A > C > B { a = ..
2020.04.29 -
백준알고리즘 - 2869 달팽이는 올라가고 싶다 <브론즈 1>
문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) 출력 첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다. 풀이 사용언어 : C++ #include int main() { int V, A, B = 0; int day = 1; //일단 처음 올라갈 때 하루가 소요 되니 초기값을 1로 설정 int m =..
2020.04.28