프로그래머스 약수의 개수와 덧셈

2024. 3. 24. 18:27·코딩테스트 연습
SMALL

https://school.programmers.co.kr/learn/courses/30/lessons/77884

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 설명

두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ left ≤ right ≤ 1,000

입출력 예

left right result

13 17 43
24 27 52

정답률이 80%가 넘는 쉬운 문제인 걸로…

 

알고리즘

  1. left부터 right까지 반복하는 반복문을 만든다.
  2. 값을 하나씩 약수 함수를 통해 약수의 개수를 구해준다
  3. 어떠한 값의 약수의 개수가 양수이면 더해주고, 홀수이면 빼준다.
  4. 최종적으로 값을 리턴해준다.

 

코드

#include <string>
#include <vector>

using namespace std;

int 약수(int a){
    int cnt=0;
    
    for(int i=1;i<=a;i++){
        if(a%i==0)
            cnt++;
    }
    return cnt;
}
int solution(int left, int right) {
    int answer = 0;

    for(int i=left; i<=right;i++){
        if(약수(i)%2==0)
            answer+=i;
        else
            answer-=i;
    }
    
    return answer;
}
728x90

'코딩테스트 연습' 카테고리의 다른 글

프로그래머스 외계어 사전  (0) 2024.03.25
프로그래머스 등굣길  (0) 2024.03.25
프로그래머스 키패드 누르기  (0) 2024.03.24
프로그래머스 명예의 전당  (0) 2024.03.24
프로그래머스 베스트앨범  (1) 2024.03.22
'코딩테스트 연습' 카테고리의 다른 글
  • 프로그래머스 외계어 사전
  • 프로그래머스 등굣길
  • 프로그래머스 키패드 누르기
  • 프로그래머스 명예의 전당
알파 조
알파 조
공부 일기장
  • 알파 조
    Blue Ocean
    알파 조
  • 전체
    오늘
    어제
    • 분류 전체보기 (93)
      • Algorithm (9)
      • Data Structure (3)
      • Python (7)
      • 컴퓨터 구조 요약 (6)
      • 몰입 교육 (7)
      • JavaScript (1)
      • Vue.js (7)
      • 코딩테스트 연습 (40)
      • SpringBoot (9)
      • 데이터베이스 (2)
  • 블로그 메뉴

    • Home
    • Computer structure
    • Algorithm
    • SpringBoot
    • Vuejs
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    항해99
    잔디 기부
    잔디 기부 캠페인
    티스토리챌린지
    Udemy#Python#Bootcamp#Object and Data Structure Basics
    MSA 기초
    리그오브레전드 #롤 #LOL #60프레임 버그 #GPU #윈도우10 #롤 60프레임 고정
    Git
    오블완
  • hELLO· Designed By정상우.v4.10.3
알파 조
프로그래머스 약수의 개수와 덧셈
상단으로

티스토리툴바