본문 바로가기

문자열18

[백준 2857] FBI (C++) https://www.acmicpc.net/problem/2857문제5명의 요원 중 FBI 요원을 찾는 프로그램을 작성하시오.FBI요원은 요원의 첩보원명에 FBI가 들어있다.  입력5개 줄에 요원의 첩보원명이 주어진다. 첩보원명은 알파벳 대문자, 숫자 0~9, 대시 (-)로만 이루어져 있으며, 최대 10글자이다. 출력첫째 줄에 FBI 요원을 출력한다. 이때, 해당하는 요원이 몇 번째 입력인지를 공백으로 구분하여 출력해야 하며, 오름차순으로 출력해야 한다. 만약 FBI 요원이 없다면 "HE GOT AWAY!"를 출력한다. 문제 풀이문자열 문제. FBI 요원의 첩보명에는 FBI가 들어가 있다. String.find(string str)를 사용하면 해당 문자열에 찾으려는 문자열 str이 있는지 확인할 수 있다.. 2024. 12. 27.
[백준 15353] 큰 수 A+B (2) (C++) https://www.acmicpc.net/problem/15353문제두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력첫째 줄에 A와 B가 주어진다. (0 10000) 출력첫째 줄에 A+B를 출력한다. 문제 풀이문자열 문제. 덧셈 문제이지만 범위가 long long 타입을 넘어서기 때문에 A와 B를 문자열로 입력받아 직접 덧셈을 구현해야 한다. 자릿수가 작은 쪽의 앞에 0을 삽입하여 두 숫자의 자릿수를 맞춘 후, 일의 자리부터 연산을 한다. 해당 자릿수 덧셈이 10이 넘으면 다음 자릿수에 1을 더해주면 되고, 일의 자릿수부터 맨 마지막 자릿수까지 연산을 끝낸 후에는 맨 마지막 자릿수 덧셈이 10이 넘었는지 확인한다. 넘었다면 정답을 저장하는 문자열의 맨 처음에 1을 삽입해.. 2024. 11. 29.
[백준 15904] UCPC는 무엇의 약자일까? (C++) 문제UCPC는 '전국 대학생 프로그래밍 대회 동아리 연합 여름 대회'의 줄임말로 알려져있다. 하지만 이 줄임말이 정확히 어떻게 구성되었는지는 아무도 모른다. UCPC 2018을 준비하던 ntopia는 여러 사람들에게 UCPC가 정확히 무엇의 줄임말인지 물어보았지만, 아무도 정확한 답을 제시해주지 못했다. ntopia가 들은 몇 가지 답을 아래에 적어보았다.Union of Computer Programming Contest club contestUnion of Computer Programming contest Club contestUnion of Computer Programming contest club ContestUnion of Collegiate Programming Contest club con.. 2024. 11. 24.
[백준 16500] 문자열 판별 (C++) https://www.acmicpc.net/problem/16500문제알파벳 소문자로 이루어진 문자열 S와 단어 목록 A가 주어졌을 때, S를 A에 포함된 문자열을 한 개 이상 공백없이 붙여서 만들 수 있는지 없는지 구하는 프로그램을 작성하시오. A에 포함된 단어를 여러 번 사용할 수 있다.입력첫째 줄에 길이가 100이하인 문자열 S가 주어진다. 둘째 줄에는 A에 포함된 문자열의 개수 N(1 ≤ N ≤ 100)이 주어진다. 셋째 줄부터 N개의 줄에는 A에 포함된 단어가 한 줄에 하나씩 주어진다. A에 포함된 문자열은 알파벳 소문자로만 이루어져 있고, 길이는 100을 넘지 않는다. 출력A에 포함된 문자열로 S를 만들 수 있으면 1, 없으면 0을 출력한다. 문제 풀이dp 문제. dp[i]가 dp[i-1]번째.. 2024. 11. 23.
[백준 1213] 팰린드롬 만들기 (C++) https://www.acmicpc.net/problem/1213문제임한수와 임문빈은 서로 사랑하는 사이이다.임한수는 세상에서 팰린드롬인 문자열을 너무 좋아하기 때문에, 둘의 백일을 기념해서 임문빈은 팰린드롬을 선물해주려고 한다.임문빈은 임한수의 영어 이름으로 팰린드롬을 만들려고 하는데, 임한수의 영어 이름의 알파벳 순서를 적절히 바꿔서 팰린드롬을 만들려고 한다.임문빈을 도와 임한수의 영어 이름을 팰린드롬으로 바꾸는 프로그램을 작성하시오. 입력첫째 줄에 임한수의 영어 이름이 있다. 알파벳 대문자로만 된 최대 50글자이다. 출력첫째 줄에 문제의 정답을 출력한다. 만약 불가능할 때는 "I'm Sorry Hansoo"를 출력한다. 정답이 여러 개일 경우에는 사전순으로 앞서는 것을 출력한다. 문제 풀이그리디 문.. 2024. 11. 4.
[백준 7432] 디스크 트리 (C++) https://www.acmicpc.net/problem/7432문제갑자기 맥북이 상근이의 손에서 떨어졌고, 화면이 켜지지 않았다. AS센터에 문의해보니 수리비가 97만원이 나왔고, 상근이는 큰 혼란에 빠졌다. 돈도 중요하지만, 상근이는 그 속에 들어있는 파일이 걱정되기 시작했다. 다행히 상근이는 저장되어 있는 중요한 디렉토리의 전체 경로를 텍스트 파일로 따로 저장하고 있었다. 예를 들면, WINNT\SYSTEM32\CERTSRV\CERTCO~1\X86. 상근이의 중요한 디렉토리의 전체 경로가 모두 주어졌을 때, 디렉토리 구조를 구해 보기 좋게 출력하는 프로그램을 작성하시오. 입력첫째 줄에 중요한 디렉토리 전체 경로의 개수 N(1 ≤ N ≤ 500)이 주어진다. 다음 N개 줄에는 디렉토리 경로가 주어진다.. 2024. 10. 23.
[백준 11507] 카드셋트 (C++) https://www.acmicpc.net/problem/11507문제최근에 진솔이는 로봇 공학을 하기 시작했다. 그래서 포커 카드가 완전한 세트인지 확인하는 로봇을 만들기로 결심했다.그는 프로그램을 작성하는 일을 분담했다. 그 프로그램은 카드의 모양(스페이드(♠), 하트(♡), 다이아몬드(♢), 클럽(♣))을 인식하는 것이다. 문제를 간단하게 하기 위해서 모든 카드는 하나의 모양과 하나의 숫자를 가진다고 가정한다.여기서 그 모양은 실제 그림 대신 문자로 대체한다. P,K,H,T에 해당한다. 그리고 숫자는 1~13에 해당하는 정수이다. 로봇은 각각의 카드를 TXY의 형태로 '카드 이름'을 정하는데 T는 모양에 해당하고 XY는 숫자에 해당한다. 만약 만약 숫자가 1자리 숫자이면 X=0에 해당한다. ex) .. 2024. 10. 3.
[백준 1120] 문자열 (C++) 문제길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다.두 문자열 A와 B가 주어진다. 이때, A의 길이는 B의 길이보다 작거나 같다. 이제 A의 길이가 B의 길이와 같아질 때 까지 다음과 같은 연산을 할 수 있다.A의 앞에 아무 알파벳이나 추가한다.A의 뒤에 아무 알파벳이나 추가한다.이때, A와 B의 길이가 같으면서, A와 B의 차이를 최소로 하는 프로그램을 작성하시오. 입력첫째 줄에 A와 B가 주어진다. A와 B의 길이는 최대 50이고, A의 길이는 B의 길이보다 작거나 같고, 알파벳 소문자로만 이루어져 있다. 출력A와 B의 길이가 같으면서, A와 B의 차이를 최.. 2024. 9. 7.
[백준 17218] 비밀번호 만들기 (C++) 문제최근 들어 개인정보 유출에 대한 뉴스를 많이 본 수형이는 한 사이트의 비밀번호가 유출 되더라도 다른 사이트에서 똑같은 비밀번호로 접속할 수 없도록 사이트마다 비밀번호를 다르게 설정하기로 다짐했다. 많이 고민한 결과 수형이는 눈을 감고 키보드를 막 쳐서 나온 두 문자열에서 공통으로 존재하는 가장 긴 부분 문자열을 비밀번호로 하기로 하였다. 수형이가 눈을 감고 만든 두 문자열이 주어졌을 때 비밀번호를 만드는 프로그램을 만들어보자.입력첫째 줄과 둘째 줄에 수형이가 눈을 감고 만든 두 문자열이 주어진다. 문자열은 알파벳 대문자로만 이루어져 있으며, 길이는 최대 40자이다. 빈 문자열은 주어지지 않는다. 가장 긴 부분 문자열은 반드시 하나만 존재한다.출력첫 번째 줄에 입력으로 주어진 두 문자열로 만든 비밀번호.. 2024. 9. 2.