250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- SQL
- englishbook
- English
- 원서
- 삼성
- 코테
- sw expert
- 프로그래머스
- 알고리즘 문제
- BFS
- D4
- 직무면접
- 코테 대비
- sw expert academy
- 원서읽자
- readingbook
- 코테 준비
- PyQt
- swexpertacademy
- 알고리즘
- 코딩테스트
- STUDYENGLISH
- 백준
- the midnight library
- dfs
- MySQL
- 완전탐색
- 원서읽기
- nightroutine
- 쉬운 알고리즘 문제
Archives
- Today
- Total
시나브로
[D5] 1256. [S/W 문제해결 응용] 6일차 - K번째 접미어 본문
728x90
#include <stdio.h>
#include <stdlib.h>
#include <string>
using namespace std;
int count_number[10000] = { 0 };
typedef struct same
{
char charater;
char next_charater;
char next_next_charater;
char next_next_next_charater;
int index;
}same;
int compare(const void *a, const void *b) // 오름차순 비교 함수 구현
{
same p1 = *(same *)a;
same p2 = *(same *)b;
if (p1.charater < p2.charater)
return -1;
else if (p1.charater > p2.charater)
return 1;
if (p1.next_charater < p2.next_charater)
return -1;
else if (p1.next_charater > p2.next_charater)
return 1;
if (p1.next_next_charater < p2.next_next_charater)
return -1;
else if (p1.next_next_charater > p2.next_next_charater)
return 1;
if (p1.next_next_next_charater < p2.next_next_next_charater)
return -1;
else if (p1.next_next_next_charater > p2.next_next_next_charater)
return 1;
return 0;
}
int main(void) {
int test_case = 0;
scanf("%d", &test_case);
for (int i = 0; i < test_case; i++) {
int number = 0;
char sentence[410] = { 0 };
char buffer;
scanf("%d", &number);
scanf("%c", &buffer);
scanf("%s", sentence);
same sames[450] = { 0 };
int n = 0;
for (;; n++) {
if (sentence[n] == '\0')
break;
sames[n+1].charater=sentence[n];
sames[n + 1].next_charater = sentence[n + 1];
sames[n + 1].next_next_charater = sentence[n + 2];
sames[n + 1].next_next_next_charater = sentence[n + 3];
sames[n+1].index = n;
}
qsort(sames,n+1,sizeof(same), compare);
printf("#%d ",i+1);
for (int m = sames[number].index; m < n; m++) {
printf("%c", sentence[m]);
}
printf("\n");
}
return 0;
}
728x90
'알고리즘 > SW Expert Academy' 카테고리의 다른 글
[D5] 7812. 옥희의 OK! 부동산 (0) | 2019.10.06 |
---|---|
[D6] 1263. [S/W 문제해결 응용] 8일차 - 사람 네트워크2 (0) | 2019.10.06 |
[D4] 5432. 쇠막대기 자르기 (0) | 2019.10.06 |
[D3] 5356. 의석이의 세로로 말해요 (0) | 2019.10.06 |
[D3] 5431. 민석이의 과제 체크하기 (0) | 2019.10.06 |
Comments