티스토리 뷰
처음에는 last가 어디까지 비교를 할껀지 비교 문자열의 마지막 인덱스라고 생각했더니 코드가 이해할 수 없었다.
그냥 start로 비교 문자열의 시작 인덱스를 계속 바꿔주기만 하면 되는 것.
그리고 last는 마지막 인덱스가 아니라 비교문자열의 길이가 되는 것이다.
while 문에서 문자열을 비교한다.
만약 원하는 서브 샘플링 길이만큼 팰린드롬의 조건을 만족하면 첫번째 if문으로 들어간다.
두번째 if문에서는 최대값을 갱신한다. 최대값을 만족하면 해당 for문을 나가서
다음 start 인덱스로 넘어간다.
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
|
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(char* s) {
int answer = 0;
int s_len = strlen(s);
int left; int right;
for(int start = 0; start < s_len; start++){
for (int last = s_len; last > answer; last--){
left = start;
right = left + last - 1;
while (s[left] == s[right] && left < right){
left ++;
right --;
}
if(left >= right){
if(answer < last){
answer = last;
break;
}
}
}
}
return answer;
}
|
'알고리즘 > C' 카테고리의 다른 글
프로그래머스 방문 길이 C언어 (0) | 2019.09.21 |
---|---|
프로그래머스 멀리 뛰기 C언어 (0) | 2019.09.21 |
프로그래머스 스킬트리 C 언어, Python (0) | 2019.09.20 |
백준 알고리즘 2644번 촌수계산 C언어 (0) | 2019.09.18 |
백준 알고리즘 10026번 적록색약 C언어 (0) | 2019.09.18 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- iOS 검은 화면
- django tag
- 장고 태그달기
- pythonanywhere배포
- iOS 데이터베이스
- django 로그인접근
- django 게시판
- python 웹 배포
- 테이블출력안됨
- 실시간 데이터베이스
- iOS UITableView 출력안됨
- 장고 게시판
- django clean
- CellForRowAt Not Called
- cleaned_data
- 알파벳 카운팅
- django pythoneverywhere
- Django
- 웹 배포
- CellForRowAt 호출안됨
- iOS 화면 안나옴
- UITableViewController Not Working
- 데이터베이스 추천
- ModelForm Form 차이
- django 태그
- Firebase 데이터베이스 추천
- 까만 화면
- Realtime Database
- pythonanywhere배포방법
- django 개발일지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함