본문 바로가기

백준6

[C++] 백준 2018번 수들의 합 5 이번에 풀어볼 문제는 어떤 자연수 N $( 1 \leq N \leq 10,000,000)$ 를 몇 개의 연속된 자연수의 합으로 나타내는 가짓수를 찾아내는 문제입니다. 이 문제에서 내가 했던 고민들과 틀렸던 과정들을 서술하면서 마지막에는 어떻게 수정하였는지 코드를 통해서 알려드리도록 하겠습니다. 문제 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가짓수를 알고 싶어 한다. 이때, 사용하는 자연수는 N이하여야 한다. 예를 들어, 15를 나타내는 방법은 15, 7+8, 4+5+6, 1+2+3+4+5의 4가지가 있다. 반면에 10을 나타내는 방법은 10, 1+2+3+4.. 2024. 3. 27.
[C언어] 백준 2562번 최댓값 이번 문제는 정해진 개수만큼 숫자를 입력받고 최댓값과 최대값이 있는 위치를 찾는 문제로 배열을 이용하면 쉽게 최댓값과 최대값이 몇 번째에 있었는지 찾을 수 있습니다. 그리고 배열 없이도 문제를 해결할 수 있는데, 어떻게 할 수 있을지 두개의 코드로 보여드리겠습니다. 문제 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. 입력 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다. 출력 첫째 줄에 최댓값을 출력하고, 둘째 .. 2023. 3. 5.
[C언어] 백준 1546번 평균 이번 문제는 백준 1546번 평균이라는 문제로 정수형 점수를 원하는 개수만큼 입력을 받은 뒤에 새로운 점수의 평균을 구하는 문제입니다. 이 문제의 핵심은 새로운 점수들의 평균을 만들 때 실수형으로 계산을 하기 위해서 형 변환이 필요하다는 것입니다. 문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그러고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 본 과목의 개수 .. 2023. 2. 25.
[C언어] 백준 1157번 단어 공부 이번에는 백준 1157번 단어공부 문제에 대해서 같이 풀어보도록 하겠습니다. 이 문제는 알파벳을 변환할 수 있는 실력과 반복문을 돌려서 최고 값을 구할 수 있는지 물어보는 문제입니다. 문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. 생각 및 풀이과정 단어 길이가 1백만을 안 넘으니 char 배열의 길이은 1,000,001로 .. 2023. 2. 25.