일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- DirectX 12
- 동적계획법
- 스케줄링
- 멀티프로세서
- 백준
- 락
- 프로그래머스
- 렌더링 파이프라인
- codility
- 병행성 관련 오류
- 파일시스템 구현
- Direct12
- 다이나믹 프로그래밍
- 컨디션 변수
- 멀티쓰레드
- 다이나믹프로그래밍
- 그리디알고리즘
- I/O장치
- 운영체제
- 영속성
- directx
- OS
- 알고리즘
- 병행성
- 그리디 알고리즘
- 자료구조
- DirectX12
- 타입 객체
- 디자인패턴
- 쓰레드
Archives
- Today
- Total
기록공간
문자열 (백준 - 1120번) 본문
반응형
A가 B보다 작으므로 A를 앞에서 부터 한칸씩 옮기면서 B와 검사한다. 그리고 차이가 최소로 나는 값을 출력하면 된다. 앞이나 뒤에서 추가하는 작업을 할 필요는 없다. 왜냐하면 A에 앞이나 뒤로 B와 알맞은 값을 채워 넣는다고 가정하여, 추가한 위치의 알파벳은 항상 같기 때문이다.
코드는 다음과 같다.
#include <iostream>
#include <string>
using namespace std;
int main()
{
string A, B;
cin >> A >> B;
int min = 50;
int diffSize = B.size() - A.size();
for (int i = 0; i <= diffSize; ++i)
{
int count = 0;
for (int j = 0; j < A.size(); ++j)
{
if (A[j] != B[i + j])
++count;
}
if (count < min)
min = count;
}
cout << min << endl;
}
B와 A의 크기 차이를 구해 그 차이만큼 반복문을 돌려 A를 순차적으로 한칸씩 오른쪽으로 옮겨 놓고 B와 검사하여 가장 최소로 나오는 차이를 구하면 그것이 결과 값이다.
반응형
'Algorithm > 문제' 카테고리의 다른 글
기타줄 (백준 - 1049번) (0) | 2020.02.13 |
---|---|
신입 사원 (백준 - 1946번) (0) | 2020.02.13 |
잃어버린 괄호 (백준 - 1541번) (0) | 2020.02.11 |
대회 or 인턴 (백준 - 2875번) (0) | 2020.02.11 |
30 (백준 - 10610번) (0) | 2020.02.11 |
Comments