ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

[ ๋ฌธ์ œ 3-1 ] (50์ ) ๋™์ ํ• ๋‹น ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๊ณ  ๋ฌธ์ž์—ด ๋ฌธ์ œ์ด๋‹ค.
(1) ์ฒซ ๋ฒˆ์งธ ์ค„์—์„œ, N๊ฐœ์˜ ๋‹จ์–ด๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฌธ์ž์—ด A๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ 
(2) ๋‘ ๋ฒˆ์งธ ์ค„์—์„œ, M๊ฐœ์˜ ๋‹จ์–ด๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฌธ์ž์—ด B๋ฅผ ์ž…๋ ฅ๋ฐ›์•„
(3) ๋‘ ๋ฌธ์ž์—ด ๋ชจ๋‘์— ํฌํ•จ๋œ ๋‹จ์–ด์˜ ์ˆ˜๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๊ณ ,
(4) ๋‘ ๋ฌธ์ž์—ด ๋ชจ๋‘์— ํฌํ•จ๋œ ๋‹จ์–ด ์ค‘ ๊ฐ€์žฅ ๊ธธ์ด๊ฐ€ ๊ธด ๋‹จ์–ด๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜์‹œ์˜ค.
๋งŒ์•ฝ, ๋‘ ๋ฌธ์ž์—ด ๋ชจ๋‘์— ํฌํ•จ๋œ ๋‹จ์–ด ์ค‘ ๊ฐ€์žฅ ๊ธธ์ด๊ฐ€ ๊ธด ๋‹จ์–ด๊ฐ€ ๋‘ ๊ฐœ ์ด์ƒ ์กด์žฌํ•˜๋ฉด, ์‚ฌ์ „
์ˆœ์„œ ์ƒ ์•ž์„  ๋‹จ์–ด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
(์š”์•ฝ) ๋‘ ๋ฌธ์ž์—ด ๋ชจ๋‘์— ํฌํ•จ๋œ ๋‹จ์–ด ์ค‘ --- ๊ฐ€์žฅ ๊ธธ์ด๊ฐ€ ๊ธด ๋‹จ์–ด --- ์‚ฌ์ „ ์ˆœ์„œ ์ƒ ์•ž์„  ๋‹จ์–ด
- ๋ฌธ์ž์—ด A์™€ B์˜ ์ตœ๋Œ€ ๊ธธ์ด๋Š” 100์ด๊ณ , N๊ณผ M์€ 20๋ณด๋‹ค ํฌ์ง€ ์•Š๋‹ค.
- ๋‹จ์–ด๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๋ฌธ์ž์ˆซ์ž๋‚˜ ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค.
- ๋‹จ์–ด์™€ ๋‹จ์–ด ์‚ฌ์ด์—๋Š” ๊ณต๋ฐฑ ๋ฌธ์ž๊ฐ€ ํ•˜๋‚˜๋งŒ ์žˆ์œผ๋ฉฐ, ๋ฌธ์ž์—ด์˜ ์ฒซ ๋ฌธ์ž๊ฐ€ ๊ณต๋ฐฑ ๋ฌธ์ž์ธ ๊ฒฝ์šฐ๋Š”
์—†๋‹ค.
- ๋ฌธ์ž์—ด A์—๋Š” ๋™์ผํ•œ ๋‹จ์–ด๊ฐ€ ๋ฐ˜๋ณตํ•ด์„œ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์œผ๋ฉฐ, ๋ฌธ์ž์—ด B์—๋„ ๋™์ผํ•œ ๋‹จ์–ด๊ฐ€ ๋ฐ˜๋ณตํ•ด
์„œ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š”๋‹ค.
- ๋ฌธ์ž์—ด A์™€ ๋ฌธ์ž์—ด B์— ๋ชจ๋‘ ํฌํ•จ๋˜๋Š” ๋‹จ์–ด๊ฐ€, ์ตœ์†Œ 1๊ฐœ ์ด์ƒ์ด๋‹ค.
โ–ถ ๊ฐ•์˜๋…ธํŠธ์— ์žˆ๋Š” ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ ํ•จ์ˆ˜ ์ค‘ 2๊ฐ€์ง€ ์ด์ƒ์„ ์˜๋ฏธ ์žˆ๋Š” ์ž‘์—…์— ๋ฐ˜๋“œ์‹œ ์‚ฌ์šฉ (์œ„๋ฐ˜ ์‹œ
๊ฐ 25% ๊ฐ์ )
โ–ถ strtok ์™€ ๊ฐ™์ด ์ˆ˜์—… ์‹œ๊ฐ„์— ๋‹ค๋ฃจ์ง€ ์•Š์€ ํ‘œ์ค€ ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ ํ•จ์ˆ˜ ์‚ฌ์šฉ๊ธˆ์ง€ (์œ„๋ฐ˜ ์‹œ 50% ๊ฐ์ )

 

 

์ž…๋ ฅ ์˜ˆ์‹œ 1
red orange yellow green blue purple
pink red yellow black white purple

 

์ถœ๋ ฅ ์˜ˆ์‹œ 1
3
purple
โ†ฆ ๋‘ ๋ฌธ์ž์—ด์— ๊ณตํ†ต์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ๋‹จ์–ด๋Š” 3๊ฐœ์ด๊ณ , 3 ๋‹จ์–ด ์ค‘ ๊ฐ€์žฅ ๊ธด ๋‹จ์–ด๋Š” yellow์™€ purple์ด๋ฉฐ, ์ด
์ค‘ ์‚ฌ์ „ ์ˆœ์„œ์ƒ ์•ž์„  ๋‹จ์–ด์ธ purple ์ถœ๋ ฅ

 

 

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main() {
	int n, m;
	char A[100], B[100];
	gets(A);
	gets(B);

	int i=0, j=0, s=0, k = 0;
	char a[20][100], b[20][100];

	for (i = 0; i<A[i]; i++) {
		if (A[i] != ' ') {
			for (j = i, s = 0; A[j] != ' ' && A[j] != '\0'; j++, s++) {
				a[k][s] = A[j];
			}
			a[k][s] = '\0';
			k++;
			if (A[j] == '\0')
				break;
			i = j;
		}
	}
	n = k;

	i = 0; j = 0, s = 0, k = 0;

	for (i = 0; i<B[i]; i++) {
		if (B[i] != ' ') {
			for (j = i, s = 0; B[j] != ' ' && B[j] != '\0'; j++, s++) {
				b[k][s] = B[j];
			}
			b[k][s] = '\0';
			k++;
			if (B[j] == '\0')
				break;
			i = j;
		}
	}
	m = k, i = 0;
	int cnt = 0, len[20];
	char str[20][100];

	for (int p = 0; p < n; p++) {
		for (int q = 0; q < n; q++) {
			if (strcmp(a[p],b[q])==0) {
				cnt++;
				len[i] = strlen(a[p]);
				strcpy(str[i], a[p]);
			}
		}
		i++;
	}
	printf("%d\n", cnt);

	int max = 0;
	i = 0;
	for (i = 0; i < cnt; i++) {
		if (len[i] > max)
			max = i;
		else if (len[i] == max) {
			if (strcmp(str[i], str[max]) <0)
				max = i;
		}
	}

	printf("%s", str[max]);

	return 0;
}

 

**๋งˆ์ง€๋ง‰์— str[max]๋ฅผ ์ถœ๋ ฅํ•ด์•ผํ•จ str[i]๋ฅผ ์ถœ๋ ฅํ•ด์„œ ์˜ค๋ฅ˜ ๋‚ฌ์—ˆ์Œ

ํ™•์ธ ์ž˜ํ•˜์ž!!

ํ•ญ์ƒ ์‹ค์ˆ˜๋Š” ์‚ฌ์†Œํ•œ ๋ฐ์„œ!

๋ฐ˜์‘ํ˜•