티스토리 뷰
최근 새로운 환경에 적응한다고 알고리즘 문제를 풀지 못했다. 그래서 풀 수 있었던 문제도 쉽게 풀리지가 않아, 가장 쉬운 문제들부터 차근차근 풀어나가는 것도 좋을 것 같다는 생각이 들었다. 그리고 마침 프로그래머스에 코딩 기초 트레이닝 캘린더라는 것이 있길래, 하루에 day 하나씩 풀어가고 있다. 솔직히 난이도가 크게 어렵지 않기 때문에 기록할 것도 없다고 생각했지만, 일단 풀기는 푼 것이니까 기록하려 한다.
1. n의 배수
https://school.programmers.co.kr/learn/courses/30/lessons/181937
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
주어진 num이 n의 배수인지를 판별하는 문제이다. 만약 num이 n의 배수라면 num을 n으로 나누었을 때의 나머지는 0일 것이다. 예를 들어, 10은 2의 배수이므로 10 / 2의 나머지는 0이다. 하지만 10은 3의 배수가 아니므로 10 / 3의 나머지는 1이다. 이를 코드로 작성하였다.
#include <string>
#include <vector>
using namespace std;
int solution(int num, int n) {
return num % n == 0;
}
2. 공배수
https://school.programmers.co.kr/learn/courses/30/lessons/181936
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
주어진 number가 n의 배수이면서 m의 배수인지 판별하는 문제이다. 즉, number를 n으로 나눈 나머지와 m으로 나눈 나머지가 모두 0이어야 한다.
#include <string>
#include <vector>
using namespace std;
int solution(int number, int n, int m) {
int answer = 0;
answer = (number % n == 0 && number % m == 0) ? 1 : 0;
return answer;
}
3. 홀짝에 따라 다른 값 반환하기
https://school.programmers.co.kr/learn/courses/30/lessons/181935
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
만약 주어진 숫자 n이 홀수일 경우, 1부터 n까지의 홀수의 합을 구해야 한다. 만약 n이 짝수일 경우, 1부터 n까지의 각 짝수의 제곱의 합을 구해야 한다. 짝수는 2의 배수이고 홀수는 2의 배수가 아니다. 그렇기에 if문을 통해 n을 2로 나눈 나머지의 값에 따라, 각 조건에 따른 합을 계산하면 된다.
#include <string>
#include <vector>
using namespace std;
int solution(int n) {
int answer = 0;
if (n % 2 == 1)
{
for (int i = 1; i <= n; i += 2)
answer += i;
}
else
{
for (int i = 2; i <= n; i += 2)
answer += (i * i); // i * i는 제곱을 의미
}
return answer;
}
4. 조건 문자엹
https://school.programmers.co.kr/learn/courses/30/lessons/181934
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
이 문제에서 가능한 경우는 아래의 4가지이다.
- ineq: ">", eq: "=" -> n >= m인지 판별
- ineq: ">", eq: "!" -> n > m인지 판별
- ineq: "<", eq: "=" -> n <= m인지 판별
- ineq: "<", eq: "!" -> n < m인지 판별
이를 if문을 이용해 각 경우를 구분하여 답을 구한다.
#include <string>
#include <vector>
using namespace std;
int solution(string ineq, string eq, int n, int m) {
int answer = 0;
if (ineq == ">")
{
if (eq == "=")
answer = n >= m;
else if (eq == "!")
answer = n > m;
}
else if (ineq == "<")
{
if (eq == "=")
answer = n <= m;
else if (eq == "!")
answer = n < m;
}
return answer;
}
5. flag에 따라 다른 값 반환하기
https://school.programmers.co.kr/learn/courses/30/lessons/181933
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
만약 주어진 flag가 true일 경우에는 a + b, flag가 false일 경우에는 a - b를 반환한다.
#include <string>
#include <vector>
using namespace std;
int solution(int a, int b, bool flag) {
int answer = 0;
if (flag == true)
answer = a + b;
else
answer = a - b;
return answer;
}
'알고리즘 문제' 카테고리의 다른 글
백준 - 1463번: 1로 만들기 (C++) (0) | 2024.02.04 |
---|---|
백준 - 타일 장식물 (C++) (0) | 2024.02.04 |
백준 - 18429 근손실 (C++) (0) | 2023.09.19 |
백준 - 1189 컴백홈 (C++) (0) | 2023.09.13 |
프로그래머스 - 짝지어 제거하기 (C++) (0) | 2023.09.12 |
- Total
- Today
- Yesterday
- 알고리즘
- Redux
- 타입스크립트
- SQL
- BFS
- 다이나믹프로그래밍
- 구현
- 브루트포스
- themoviedb
- 코드스테이츠
- 햄버거버튼
- 스택
- Next.js
- react
- 자바스크립트
- CSS
- 넥스트js
- 백준
- NextJS
- C++
- 카카오맵
- aws
- 프로그래머스
- async
- 동적계획법
- 리액트
- 완전탐색
- 비트마스킹
- typescript
- 순열
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |