백준(36)
-
[ 백준 2468번 ] 안전영역
백준 2468번 / 알고리즘 그래프 탐색 / 안전영역 채점결과는 다음과 같다 메모리 시간 1번째 방법 1228 KB 20 ms 문제 풀이 푸는 도중에는 몰랐는데 풀고 나니 DFS / BFS 문제였던 문제였다 그래프 탐색을 모르는 상태로 풀기 시작했는데 문제를 풀려고 여러 가지를 검색해 보니 그래프 탐색 방법이었다 1. 우선 먼저 땅이라고 지칭되는 맵(보드)의 행과 열을 타게팅 할 구조체를 하나 만들어준다 구조체를 사용해 주는 이유는 이 문제를 풀면서 이 행렬 타기팅을 계속하게 될 거 같아서 만들었다 typedef struct = 구조체 row = 행 col = 열 traget = 구조체 이름 2. 두 번째로 안전지역이 서로 연결되어 있는지 분리되어 있는지 확인하기 위한 상하좌우 체크를 할 행렬 체크 배열..
2022.03.08 -
[ 백준 2908번 ] 상수
백준 2908번 / 7단계 / 상수 채점결과는 다음과 같다 메모리 시간 1번째 방법 2024 KB 0 ms 문제 풀이 c++에 있는 라이브러리 이용하면 쉽게 풀 수 있고 문제풀이 원리는 라이브러리 동작원리 그대로입니다 1. 문자열 s1, s2 를 입력받고 reverse 함수를 이용해서 문자열을 반전 시켜줍니다 reverse 함수는 algorithm 헤더파일에 내장 되어 있습니다 INPUT = 734 893 s1 = 734 s2 = 893 reverse s1 = 437 s2 = 398 2. 문자열끼리는 서로 누가큰지 수 계산을 못하기 때문에 문자열을 각 인덱스마다 정수형으로 변환해줘야 합니다 저는 c++ string 헤더파일의 stoi 함수를 이용해서 풀었습니다 반전된 문자열을 stoi 함수를 이용해서 아..
2022.01.03 -
[ 백준 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