본문 바로가기

전체 글723

[백준 10996] 별 찍기 - 21 [C] 소스코드 #include int main(){ int N; scanf("%d", &N); for (int i = 0; i < 2*N; i++){ for (int j = 0; j < N; j++) putchar((i+j)%2 ? 32 : '*'); putchar(10); } } 출처 10996번: 별 찍기 - 21 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net 2021. 8. 7.
[백준 10994] 별 찍기 - 19 [C] 소스코드 #include #include int main(){ int N; scanf("%d", &N); for (int i = -2*N+2; i < 2*N-1; i++){ for (int j = -2*N+2; j < 2*N-1; j++){ if (i%2==0 && abs(j) 2021. 8. 7.
[백준 10995] 별 찍기 - 20 [C] 소스코드 #include int main(){ int N; scanf("%d", &N); for (int i = 0; i < N; i++){ for (int j = 0; j < 2*N; j++) putchar((i+j)%2 ? 32 : '*'); putchar(10); } } 출처 10995번: 별 찍기 - 20 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net 2021. 8. 6.
[백준 1557] 제곱 ㄴㄴ [C] 풀이 Mobius function와 Mertens function로 풀이했다. 편의상 "제곱ㄴㄴ수"는 SFI(Square Free Integer, 제곱 인수가 없는 정수)라고 부르겠다. Mobius function Mobius function은 다음의 조건에 따라 값을 반환하는 함수다. 제곱 인수가 없을 때, 소인수의 개수가 홀수이면 1 제곱 인수가 없을 때, 소인수의 개수가 홀수이면 -1 제곱 인수가 있는 정수이면 0 Mertens function Mertens function는 Mobius function의 부분합으로, 입력받은 수 까지 존재하는 SFI의 개수를 알 수 있다. K의 최댓값 즉, 1,000,000,000번째 SFI를 구하기 위해서는 Mobius function의 반환값들을 얼마나 저장해.. 2021. 8. 6.
[백준 1764] 듣보잡 [C/C++] 풀이 알고리즘은 엄청 간단하다. N명의 이름을 입력받아서 정렬 후, M명의 이름을 입력받아 이진탐색으로 찾은 명단과 총 인원을 출력하면 된다. 하지만, 이를 C로 구현하는 것은 끔찍하다... 소스코드 #include #include #include #include using namespace std; int main(){ int N, M, i; scanf("%d %d", &N, &M); vector v1(N), v2; char name[21]; for (i = 0; i < N; i++){ scanf("%s", name); v1[i] = name; } sort(v1.begin(), v1.end()); for (i = 0; i < M; i++) { scanf("%s", name); if (binary_sea.. 2021. 8. 6.
[백준 1260] DFS와 BFS [C] 풀이 DFS는 방문 기록이 없는 정점만 탐색하면 된다. BFS는 방문한 정점을 visited뿐만 아니라 Queue에 순서대로 기록하고, front로 탐색의 기준점을, rear로 탐색의 중단점을 설정해주면 된다. 소스코드 #include #include int N, arr[1001][1001], visited[1001], queue[1001]; void dfs(int v){ visited[v] = 1; printf("%d ", v); for (int i = 1; i 2021. 8. 5.