본문 바로가기

PS/BOJ

[백준] 이모지

반응형

문제 : https://www.acmicpc.net/problem/17120

 

문제요약 : 슬랙 이모지가 적용되있는 문장이면 YES 아니면 NO 출력

 

해설 :

https://www.webfx.com/tools/emoji-cheat-sheet/

https://slackmojis.com

이런 곳에서 Ctr+A, Ctr+C해서 복사한 후 input.txt파일에 넣고 아래 프로그램을 돌리고 output.txt에 이모지 목록을 받는다

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
#include <bits/stdc++.h>
using namespace std;
int main(){
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    string t;
    char s[10000];
    int i;
    bool p=0;
    int tt=0;
    set<string> st;
    set<string>::iterator it;
    for(;~scanf("%s",s);){
        for(i=0; s[i]; i++){
            if(s[i]==':') {
                if(p) st.insert(t), t.clear(), tt++;
                p=!p;
            }
            if(p && s[i]!=':') t+=s[i];
        }
    }
    printf("%d",tt);
    for(it=st.begin(); it!=st.end(); it++){
        cout<<", \""+(*it)+"\"";
    }
}
cs

아래 프로그램으로 제출하면 된다.

(아쉽게도 custom을 제외한 이모지 목록이 적힌 사이트를 발견하지 못했기에 110점정도만 맞는다)

 

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
#include <bits/stdc++.h>
using namespace std;
string st[(받은이모지개수)]={(받은이모지목록)};
int main(){
    string t;
    string s;
    int i;
    bool p=0;
    map<string,int> mp;
    for(i=0; i<(받은이모지개수); i++) mp[st[i]]=1;
    while(getline(cin,s)){
        bool pr=0;
        for(i=0; s[i]; i++){
            if(s[i]==':') {
                if(p) {
                    if(mp[t]==1) pr=1;
                    t.clear();
                }
                p=!p;
            }
            if(p && s[i]!=':') t+=s[i];
        }
        if(pr) printf("YES\n");
        else printf("NO\n");
    }
}
cs

꼼수지만 전부 YES를 출력하면 97, 전부 NO를 출력하면 112점이 나온다...

반응형

'PS > BOJ' 카테고리의 다른 글

USACO US Open 2016 Contest - Silver  (0) 2021.09.06
2021 ICPC Sinchon Summer Algorithm Camp Contest - 초급  (0) 2021.08.23
[백준] GCD 곱  (0) 2019.09.23
[백준] 7대 난제 클리어  (1) 2019.09.18
[백준] 플립과 시프트  (0) 2019.07.14