본문 바로가기

728x90
728x90

C++

[프로그래머스][위클리 챌린지-2주차][C++] 상호평가- 컴도리돌이 코딩테스트 연습 - 2주차 [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr 문제 설명 대학 교수인 당신은, 상호평가를 통하여 학생들이 제출한 과제물에 학점을 부여하려고 합니다. 아래는 0번부터 4번까지 번호가 매겨진 5명의 학생들이 자신과 다른 학생의 과제를 평가한 점수표입니다. No. 0 1 2 3 4 0 100 90 98 88 65 1 50 45 99 85 77 2 47 88 95 80 67 3 61 57 100 80 65 4 24 90 94 75 65 평균 45.5 81.. 더보기
[프로그래머스][위클리 챌린지-1주차][C++] 부족한 금액 계산하기 - 컴도리돌이 코딩테스트 연습 - 1주차 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이 programmers.co.kr 문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 .. 더보기
[프로그래머스/C++] N-Queen - 컴도리돌이 문제 설명 가로, 세로 길이가 n인 정사각형으로 된 체스판이 있습니다. 체스판 위의 n개의 퀸이 서로를 공격할 수 없도록 배치하고 싶습니다. 예를 들어서 n이 4인경우 다음과 같이 퀸을 배치하면 n개의 퀸은 서로를 한 번에 공격할 수 없습니다. 체스판의 가로 세로의 세로의 길이 n이 매개변수로 주어질 때, n개의 퀸이 조건에 만족 하도록 배치할 수 있는 방법의 수를 return 하는 solution함수를 완성해주세요. 제한사항 퀸(Queen)은 가로, 세로, 대각선으로 이동할 수 있습니다. n은 12이하의 자연수입니다. #include #include using namespace std; int board_size ; int answer = 0; bool is_possible(int h, int w,ve.. 더보기
[C++][백준 1316][문자열] 그룹 단어 체커 - 컴도리돌이 문제 ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 첫째 줄에 단어의 개수 N이 들어온다. N은 100보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 단어가 들어온다. 단어는 알파벳 소문자로만 되어있고 중복되지 않으며, 길이는 최대 100이다. 첫째 줄에 그룹 단어의 개수를 출력한다. 소스 코드 알파벳 위치 값을 갖는 arr와 입력 값을 string으로 받았다. 그리고 단어에 대한 flag를 설정해줬다. 입력받은 string의 첫 번째 index부터 확인하여, 해당 알파벳에 대한 위치 값을 증가시킨다. 다음 알파벳을 확인할 때 만약 중복된 알.. 더보기
[C++][백준 5622][문자열] 다이얼 - 컴도리돌이 문제 입력 값으로 문자열을 받는데, 만약 ABC이면 다이얼 전화기로 222를 돌려야 한다. 해당 2를 돌리 때 3초가 걸리며, 숫자가 증가할 때마다 1초가 증가된다. 문자열을 입력받아서 해당 문자열을 다이얼을 걸기 위한 최소 시간을 출력. 소스 코드 알파벳 문자열을 갖는 string과 해당 알파벳 위치에 해당하는 걸리는 시간을 설정한다. 입력받은 문자열의 인덱스를 찾아서 arr 배열에 해당 index에 해당하는 값을 sum에 더해준다. arr과 s를 설정하여서 매우 쉬운 코드가 되었다.(다른 풀이가 생각 안 나서..) #include #include using namespace std; int main(void) { string s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ",input; in.. 더보기
[C++][백준 2908][문자열] 상수 - 컴도리돌이 문제 세 자리 수인 두 개의 수를 입력받는다. 두 개의 수를 거꾸로 읽어서 두 수중에 큰 수를 출력한다. 소스 코드 두 개의 입력 값을 string으로 받아 줬다. algorithm의 멤버 함수 reverse를 사용하여 해당 string의 문자열을 거꾸로 만들어 줬다. 거꾸로 설정된 두 개의 string의 첫 번째 index 값부터 비교한다. #include #include #include using namespace std; int main(void) { string input1,input2; cin >> input1 >> input2; reverse(input1.begin(),input1.end()); reverse(input2.begin(),input2.end()); for(int i=0; i (i.. 더보기
[C++][백준 1157][문자열] 단어 공부- 컴도리돌이 문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 입력 값은 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 출력 값으로는 가장 많이 사용된 알파벳이 대문자로 출력된다. (가장 많이 사용된 알파벳이 여러 개 존재할 경우 '?'출력 소스 코드 해당 코드는 입력받은 문자열에서 알파벳이 나올 때마다 해당 위치의 arr의 값을 증가시켜줬다. arr 값을 설정해주고 해당 arr에서 max값을 갖는 index를 저장한다. 만약 max값을 갖는 index가 존재할 경우 flag를 증가시켜준다. 출력할 때 중복 flag가 설정되어 있으면 '?'을 출력, 아닐 경우 해당 index의 알파벳을 출력. 소문자, 대문자를 구분해주기 위해서 아스.. 더보기
[C++][백준 10809][문자열] 알파벳 찾기 - 컴도리돌이 문제 알파벳 소문자로만 이루어진 단어 S에서 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력한다. 예를 들어 입력값이 abc이면, a는 0번째 위치 b는 1번째 위치, c는 2번째 위치이고 나머지 알파벳은 -1 값을 갖는다. 중복된 값의 시작 위치를 주의하자 소스코드 #include #include using namespace std; int main(void) { string S; //입력 받을 문자열을 string으로 입력받음 int arr[26]; // 알파벳 위치 값을 저장할 배열 cin >> S; for(int i=0; i < 26; i++) { arr[i] = -1; //모든 알파벳 위치 값을 -1으로 초기화 } for(i.. 더보기