Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions minyoung/week2/Programmers87390.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#include <stdio.h>
#include <stdlib.h>

int* solution(int n, long long left, long long right) {

int len = right - left + 1;
int* answer = (int*)malloc(len * sizeof(int)); // 결과 배열 동적 할당

long long idx = 0;
for (long long i = left; i <= right; i++) {
int row = i / n;
int col = i % n;

// row/column중에서 더큰 값을 살리기
answer[idx++] = (row > col) ? row + 1 : col + 1;
}

return answer;
}

int main() {
int n;
long long left, right;

scanf("%d %lld %lld", &n, &left, &right);

int* result = solution(n, left, right);
int len = right - left + 1;

for (int i = 0; i < len; i++) {
printf("%d ", result[i]);
}
printf("\n");

free(result); // 동적 할당 메모리 해제
return 0;
}
55 changes: 55 additions & 0 deletions minyoung/week2/Programmers92335.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// 소수 판별 함수
bool is_prime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}

int solution(int n, int k) {
int answer = 0;
int tmp = 0; // k진수로 변환한 값을 저장할 변수
int tmp_na; // 진수 변환 후 각자리 저장용 임시 변수
int so_co = 0; // 소수 개수 카운트
int b = 1; // 10진수로 변환용 자릿수

for (; n > 0; n = n / k) {
// 현재 자리 값을 tmp에 누적
if (n % k != 0) {
tmp_na = (n % k) * b;
tmp += tmp_na;
b *= 10;
} else {
// 나누어 떨어질 때, 소수 판별 진행
if (tmp != 0 && is_prime(tmp)) {
so_co++; // 소수 카운팅+1
}
tmp = 0; // tmp 초기화
b = 1; // 10진수 변환용 자릿수 초기화
}
}

// 마지막에 남아있는 숫자가 소수인지 체크
if (tmp != 0 && is_prime(tmp)) {
so_co++;
}

return so_co;
}

int main() {
int n, k;
scanf("%d", &n);
scanf("%d", &k);

int result = solution(n, k);
printf("%d", result);

return 0;
}