개발자 바다의 파도

개발의 무인도에 갇혔다

전체 글 210

코딩테스트 입문 - 19일차 (C++)

19일차 - 문자열, 배열, 조건문 1번) 7의 개수 이번 문제는 간단하게 array[i]에 10을 나눠서 나머지 값이 7이 나온 경우에 answer을 1씩 증가시키면 된다. 2번) 잘라서 배열로 저장하기 이번 문제는 간단하게 11번줄 while문에 str의 길이가 n보다 클 경우, 13번줄 for문에서 정수 n만큼 temp에 저장한 다음에 answer에 삽입합니다. 이후 20번줄에 str을 0번 인덱스에서 n만큼 삭제하고 temp값을 초기화 하면 됩니다. 마무리로 남은 str 값을 answer에 삽입하면 됩니다. 3번) 중복된 숫자 개수 이번 문제는 간단하게 9번줄 for문에서 array[i] 값을 보면서 n과 같은지 확인합니다. 만일 같으면 answer을 1씩 증가시킵니다. 4번) 머쓱이보다 키 큰 ..

2743 - 단어 길이 재기 (C++)

문제 - 알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오. 입력 - 첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 100이다. 출력 - 첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 100이다. 풀이 - 이번 문제는 string에 있는 length() 기능을 쓰면 쉽게 풀 수 있습니다. 코드 복붙 주소 - https://github.com/ResToEons/BaekJoonAlgorithm/tree/main/5%20-%20%EB%AC%B8%EC%9E%90%EC%97%B4/02%20-%20%EB%8B%A8%EC%96%B4%20%EA%B8%B8%EC%9D%B4%20%EC%9E%AC%EA%B8%B0%20(27..

코딩테스트 입문 - 18일차 (C++)

18일차 - 문자열, 수학, 조건문, 정렬 1번) 문자열안에 문자열 이번 문제는 find() 함수를 이용하면 쉽게 풀 수 있다. 9번줄 if문에서 find함수를 써서 string::npos, 즉 string을 끝까지 찾아서 find(str2)에 str2를 찾으면 answer 1로, 반대로 못 찾으면 2를 입력하면 됩니다. (npos은 no-position이라는 뜻이다) 2번) 제곱수 판별하기 이번 문제는 주어진 정수 n이 제곱수인지 확인하는 것입니다. 10번줄 while문에서 sqrt인 제곱수를 늘리면서 n과 일치하는지 확인합니다. 만일 일치하면 answer을 1로 설정하고 끝냅니다. 만일 n보다 number이 더 크면 answer이 0인 상태로 끝나고 24번줄에 의해서 answer이 2로 되면서 끝납니..

코딩테스트 입문 - 17일차 (C++)

17일차 - 문자열, 수학, 조건문, 배열, 사칙연산 1번) 숫자 찾기 이번 문제는 주어진 정수 num에 정수 k가 어느 자리수에 있는지 찾는 것입니다. 일단 14번줄 while문에서 num을 numArr에 자릿수로 배열에 넣습니다. 이후 23번줄 for문에서 자릿수 값이 k와 같은지 찾습니다. 만일 찾으면 numSize에 i만큼 빼주고 answer에 대입합니다. 만일 answer이 없는 경우 31번줄로 answer을 -1로 만들어줍니다. 2번) n의 배수 고르기 이번 문제는 백터 numlist에서 정수 n의 배수를 찾는 문제입니다. 간단하게 9번줄 for문에서 11번줄 if문에 n 만큼 나누어서 나머지 값이 0인 경우에 answer에 값을 삽입하면 됩니다. 3번) 자릿수 더하기 이번 문제는 정수 n의 ..

1546 - 평균 (C++)

문제 : 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50 / 70 * 100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력 - 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 출력 - 첫째 줄에 새로운 평균을 출력한다. 실제 정..

코딩테스트 입문 - 16일차 (C++)

16일차 - 문자열, 수학, 배열, 조건문 1번) 편지 이번 문제는 간단하게 문자열 message의 길이를 2배를 answer에 대입하면 됩니다. 2번) 가장 큰 수 찾기 이번 문제는 가장 큰 수와 그 큰 수의 인덱스를 출력하면 됩니다. 간단하게 13번줄 for문에 매 인덱스마다 기존 최대값인지 확인하고 최댓값인 경우 max로 최댓값을 설정하고, 그 때의 i를 idx에 저장합니다. 이후 22-23번줄에 max와 idx을 출력하면 됩니다. 3번) 문자열 계산하기 이번 문제는 문자열 my_string에 숫자, 기호를 알아서 숫자의 식을 푸는 문제입니다. 일단 20번줄 for문에서 my_string에 스페이스 값 (' ')이 등장한 인덱스 값을 spaceIdx 배열에 저장합니다. 29번줄에는 마지막 식이 끝나..

코딩테스트 입문 - 15일차 (C++)

15일차 - 문자열, 해시, 배열, 수학 1번) 영어가 싫어요 이번 문제는 문자열 numbers을 영어로 된 숫자들을 실제 숫자로 표시해야 합니다. onetwothree를 123처럼 변환을 해야 한다. 이번엔 무식하게 앞의 문자가 'z', 'o', 't', 'f', 's', 'e', 'n'으로 찾고, zero, one, two, three, four, five, six, seven, eight, nine을 찾습니다. 12번줄 for문에서 14번 if문은 'z', 22번은 'o', 30번은 't', 50번줄은 'f', 70번줄은 's', 90번줄은 'e', 그리고 98번줄은 'n'을 담당합니다. 여기서 'z', 'o', 'e', 'n'은 경우의 수가 1개라 간단합니다. startIdx을 현재 i로 설정하고..

10811 - 바구니 뒤집기 (C++)

문제 - 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2번째 바구니, ..., 가장 오른쪽 바구니를 N번째 바구니라고 부른다. 도현이는 앞으로 M번 바구니의 순서를 역순으로 만들려고 한다. 도현이는 한 번 순서를 역순으로 바꿀 때, 순서를 역순으로 만들 범위를 정하고, 그 범위에 들어있는 바구니의 순서를 역순으로 만든다. 바구니의 순서를 어떻게 바꿀지 주어졌을 때, M번 바구니의 순서를 역순으로 만든 다음, 바구니에 적혀있는 번호를 가장 왼쪽 바구니부터 출력하는 프로그램을 작성하시오. 입력 - 첫째 줄에 N (1