문자열(6)
-
[ 백준 1152번 ] 단어의 개수
백준 1152번 / 단어의 개수 채점결과는 다음과 같다 메모리 시간 1번째 방법 4916 KB 36 ms 문제 풀이 공백을 기준으로 단어의 개수를 찾는 문제이다 공백을 기준으로 단어가 형성되어 있으므로 규칙을 찾아보면 공백 + 1을 하면 단어의 개수가 찾아진다 공백을 개수로 단어의 개수를 찾는 알고리즘의 예외 상황으로는 - 문자열의 길이가 1이면서 공백이 하나만 있는경우 - 문자열 첫 시작에 공백으로 시작하는 경우 - 문자열 끝 부분이 공백으로 끝나는 경우 이렇게 생각하고 문제에 들어갔다 1. 문자열을 입력받고 처음 예외상황을 처리해준다 문자열의 길이가 1이고 문자열의 첫번째 인덱스가 0이면 아스키코드값(32) 단어의 개수는 0으로 출력해준다 INPUT : OUTPUT : 0 2. 위 예외 케이스를 처리..
2021.12.29 -
[ 백준 1157번 ] 단어 공부
백준 1157번 / 단어 공부 채점결과는 다음과 같다 메모리 시간 1번째 방법 4916 KB 76 ms 문제 풀이 먼저 알파벳 개수를 저장할 길이 26 짜리 alphabet 배열 하나랑 소문자부터 대문자까지 비교할 a ~ Z 문자열 alphabets를 하나 선언 해준다 1. INPUT 값 문자열 str를 입력을 받고 이중 반복문을 돌려주면서 알파벳이 포함되면 소문자든 대문자든 소문자 인덱스(0 ~ 25)에 +1를 해준다 소문자 z 와 대문자 Z도 소문자 z 2개로 처리해주는 뜻이다 INPUT = zZa alphabets = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ i = 0 str[i] = z j = 25 alphabets[j] = z alphabet..
2021.12.23 -
[ 백준 10809번 ] 문자열 반복
백준 10809번 / 7단계 문자열 반복 채점결과는 다음과 같다 메모리 시간 1번째 방법 2024 KB 0 ms 문제 풀이 이중 반복문을 사용해서 문제를 푼다 1. 첫 번째 반복문은 반복할 문자를 제어할 인덱스를 관리하기 위해 문자열의 길이만큼 반복을 해주는 반복문을 사용한다 2. 두 번째 반복문은 반복변수 repeat 만큼 문자열 각 인덱스마다 반복해서 출력해준다 INPUT = 3 ABC str = ABC str.length = 3 repeat = 3 str[0] = A x repeat AAA str[1] = B x repeat BBB str[2] = C x repeat CCC OUTPUT = AAABBBCCC 코드 #include #include #include using namespace std; ..
2021.12.18 -
[ 백준 10809번 ] 알파벳 찾기
백준 10809번 / 7단계 / 알파벳 찾기 채점결과는 다음과 같다 메모리 시간 1번째 방법 2024 KB 0 ms 문제 풀이 문자열을 입력받고 string 헤더파일에 있는 find 함수를 이용하면 문제를 쉽게 풀 수 있다 find 함수는 특정 알파벳 위치를 리턴해주는 함수이다 그 문자가 없으면 -1를 리턴한다. 1. 문자열 s를 입력받는다 반복문을 알파벳 개수 26만큼 돌려주면서 입력받은 문자열 s에서 find하무에 알파벳배열 인덱스 i에 있는값을 인자값을 넘겨주고 공백을 구분하면서 find함수 리턴값을(int)형으로 바꿔서 출력해준다. i = 0 s = bd alphabets = abcdefghijklmnopqrstuvwxyz (int)s.find(alphabets[i]) = -1 문자열 s에는 b가..
2021.12.13 -
[ 백준 11720번 ] 숫자의 합
백준 11720번 / 7단계 / 숫자의 합 채점 결과는 다음과 같다 메모리 시간 1번째 방법 1112 KB 4 ms 문제 풀이 아스키 코드값 문자 "0" ~ "9" 은 정수형으론 48 ~ 57이다 정수 0 ~ 9 와 문자 "0" ~ "9" 는 48의 차이가 난다 1. 숫자를 문자열로 입력받아서 공백없이 입력되어 있으므로 각 인덱스마다 - 48을 해주고 sum에 더하면 된다 Input = 54321 Number[0] = 53 - 48 = 5 sum = sum + Number[0] Number[1] = 52 - 48 = 4 sum = sum + Number[1] Number[2] = 51 - 48 = 3 sum = sum + Number[2] Number[3] = 50 - 48 = 2 sum = sum + ..
2021.12.09 -
[ 백준 8958번] OX퀴즈
백준 8958번 / 5단계 / OX 퀴즈 채점결과는 다음과 같다 메모리 시간 1번째 방법 1112 KB 0 ms 문제 풀이 문자열을 입력받을 n 을 입력받는다 1. OX문자열을 반복을 문자열 길이만큼 돌리면서 인덱스마다 O, X 인지 문자체크를 하고 O면 연속되는 스코어를 플러스 해주고 최종 스코어에 더해준다. X를 만나면 연속되는 스코어를 0로 초기화 해준다. OX = OXO i = 0 OX[i] = OX[0] = O straight = straight + 1 score = score + straight i = 1 OX[i] = OX[1] = X straight = 0 2. 이러한 구조로 반복을 n번만큼 반복을하고 O로 끝났을경우에도 다음 문자열을 점수평가를 할려면 연속되는 스코어가 제로여야 하므로 0..
2021.11.15