본문 바로가기

String5

[Python] 백준 9935번 문자열 폭발 https://www.acmicpc.net/problem/9935 풀이string 내장함수 partition을 사용하면 문제를 쉽게 해결 할 수 있으나 string 범위가 1000000 이므로 시간초과가 발생합니다.따라서 stack구조를 사용해 한번의 반복문으로 해결합니다.stack의 폭발문자열의 길이에 해당하는 마지막 문자열을 검사하여, 폭발문자열이라면 stack에서 pop 해줍니다.string = input()exp = input()ex_len = len(exp)# while True:# s = string.partition(exp)# if s[1] == '':# break# string = str(s[0]) + str(s[2])# if string == '':# .. 2024. 9. 27.
[C++] 프로그래머스 성격 유형 검사하기 https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 성격 유형 survey 및 그에 따른 선택표 choices가 주어질 때, 최종 성격유형을 출력하는 문제입니다. 문자열 파싱 및 해싱을 통해 해결할 수 있습니다. 먼저 점수 파싱용 변수 score와 성격 파싱용 변수 personality 및 성격 해싱용 변수 m을 선언합니다. 이 후, survey를 순회하며 해싱 변수 m에 성격 유형별 점수를 모두 기록합니다. 해싱이 끝나면 personali.. 2023. 10. 22.
[C++] 프로그래머스 바탕화면 정리 https://school.programmers.co.kr/learn/courses/30/lessons/161990 풀이 바탕화면 정보 wallpaper가 주어집니다. 빈 칸은 '.' 파일이 있다면 '#"으로 표기될 때, 모든 파일을 선택할 수 있는 맨하탄 거리가 최소가 되도록 드래그 시작점과 끝점을 결정하는 문제입니다. 아이디어는 파일이 존재하는 가장 최소 행과 열, 최대 행과 열을 찾고 최대 행, 열 +1을 해주는 것입니다. wallpaper의 행, 열 크기가 50 이하이므로 2중 for문 완전탐색으로 문제를 해결할 수 있습니다. 완전탐색 전에, 최소 행, 열 변수 min_row, min_col은 MAX 매크로 상수로 정의하고, 최대 행, 열 변수 max_col, max_row는 0으로 초기화 해둡니.. 2023. 10. 22.
string 클래스 사용법 은근 자주 사용되지만 할 때 마다 헷갈리는 string 클래스 정리입니다. string 멤버함수와 std 함수 사용법은 언제나 언제나 언제나 중요하다.. https://cplusplus.com/reference/string/string/ https://cplusplus.com/reference/string/string/ cplusplus.com cppreference 를 사용하는 방법을 터득하도록 하자..! #include #include using namespace std; int main() { string str("01235"); string str2("abBC"); double v1 = stoi(str); cout 2023. 10. 6.
[C++] 백준 1254번: 팰린드롬 만들기 (Silver 2) 풀이 1. substr에 대해 isPalindrom을 통해 팰린드롬인지 확인 2. 팰린드롬을 찾았을 경우 원래 문자열 크기에 인덱스만큼 더해준다 리뷰 1. 오른쪽 인덱스를 고정하고, 왼쪽 인덱스를 하나씩 밀어가며 비교하는 코드를 제출했으나 실패~, 중간에 같은 문자가 나와버리면 오답이 되었다. 2. 기존 문자에서 왼쪽 인덱스를 하나씩 밀어가면서 이미 팰린드롬이 완성되는 문자열을 찾는 것이 중요했다. 3. 팰린드롬이 아닌 문자에 대해서만 문자를 추가 해주면 되기 때문!!... #include #include using namespace std; string s; int answer = 0; bool isPalindrom(string str) { int cnt = str.size()/2; for(int i=.. 2023. 1. 15.