본문 바로가기

C++25

C++ 1085 직사각형에서 탈출 / 제곱 / 제곱근 / 최소값 dis배열에 직사각형의 네 변에 내린 수선의 길이(의 제곱)를 구해주고, 최소값을 찾아 루트를 씌워준다. 사용한 함수 1. 제곱 & 제곱근 #include 제곱 : pow(밑, 지수) 제곱근 : sqrt(숫자) 2. 최대값, 최소값 #include *max_element(배열, 배열+배열크기) *min_element(배열, 배열+배열크기) *max_element(벡터.begin(), 벡터.end()) *min_element(벡터.begin(), 벡터.end()) #include #include #include using namespace std; int main() { float dis[4]; int x, y, w, h; cin >> x >> y >> w >> h; dis[0] = pow(y,2); di.. 2022. 6. 27.
C++ 3052 나머지 이 문제의 핵심은 10개의 숫자 배열에서 서로 다른 숫자의 개수를 세어주는 것이다. 나는 최대 숫자크기가 41인점을 이용해 41개의 크기를 가진 인덱스라는 배열을 만들어 해당 숫자 개수를 카운트 해줬다. 이 후 해당 인덱스가 1개 이상인 경우에 결과값을 ++해주는 방식으로 진행했다. 그런데 만약 최대 숫자크기가 41이 아니라 그 이상이라면 해당 방법을 사용하기 힘들어지므로 인덱스를 기용하는 방법 외에 다른 방법을 더 고민해봐야겠다. #include #include using namespace std; int main() { int num[10]; int index[42] = { 0 }; for (int i = 0; i > num[i]; num[i] = num[i] % 42.. 2022. 6. 27.
C++ 1157 단어공부 문자열에 관한 문제는 아스키코드를 활용하는 것이 많다. 아스키코드에 대해 공부해 활용할 수 있어야 문제 풀이를 생각할 때 훨씬 유용할 것 같다. 우선 단어를 대소문자 관련없게 알파벳 카운트를 받아 count 변수에 담아줘야 편리하다. 그 후 가장 많이 나온 알파벳을 구해주고, overlap이라는 불 변수를 활용해 문제에서 언급하는 예외사항에 대해 처리해준다. #include #include using namespace std; int main() { int count[26] = { 0 }; string word; cin >> word; //대소문자 상관없이 알파벳 별 개수 받기 for (int i = 0; i < word.length(); i++) { if (word[i] < 97)//대문자면 65를 빼.. 2022. 6. 24.
C++ 1546 평균 벡터에 점수를 입력받아 풀이했다. #include #include #include using namespace std; int main() { //N개의 수 입력받아 벡터에 저장하기 int N; cin >> N; vector score; for (int i = 0; i > num; score.push_back(num); } //최대값 m구하기 int m = *max_element(score.begin(),score.end()); float total = 0; //점수 재정의 for (int i = 0; i < N; i++) { score[i] = score[i] / m * 100; total += score[i]; } //평균 구하기 float avr = t.. 2022. 6. 22.