본문 바로가기

분류 전체보기

(107)
백준 1316 - 그룹 단어 체커(kotlin) https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 문제접근 문자열 안에 반복되는 문자가 또 나오는지 확인하는 문제 문자열의 문자들을 컬랙션에 넣고 이미 넣은 단어가 또 나오면 그룹 단어가 아닌걸로 판별 연속적으로 나오는건 상관없으니 마지막 단어를 변수에 저장해서 검사하려는 단어와 비교 정답코드 import java.util.* fun main(args: Array): Unit = with(Scanner(System..
파이썬에서 Stack Stack stack은 후입선출(LIFO)의 자료구조. 시간복잡도는 push : O(1), pop : O(1)입니다. push와 pop은 모두 stack의 top에 원소를 추가하거나 삭제하는 형식으로 구현됩니다. 활용예시는 후위 표시법 연산, 괄호 유효성 검사, 웹 브라우저 방문기록(뒤로가기), 깊이 우선탐색(DFS)등이 있습니다. 파이썬에서 Stack 파이썬에서는 stack 자료구조를 따로 제공하지 않는다. 따라서 기본 클래스인 list를 활용하여 stack을 흉내내서 사용한다. 파이썬에서 list를 활용해 stack 메서드 사용하기 1. stack 선언 그냥 빈 리스트를 선언해주면 된다. stack = [] 2. 원소 추가 : push list의 append 메서드를 활용해 리스트의 가장 마지막에 원..
백준 - 1120 (kotlin) https://www.acmicpc.net/problem/1120 1120번: 문자열 길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의 www.acmicpc.net 문제접근 문자열 A와 B의 다른점의 최소값을 묻는 문제 A의 길이가 B보다 작으면 A의 앞뒤에 문자를 붙임 아이디어 어차피 최소값을 묻는 문제이므로 굳이 문자열 A에 문자를 붙여가며 비교할 필요 없이 문자열 B를 A의 범위만큼 돌면서 차이점이 최소가 될때를 찾으면 됨(어차피 앞뒤로 B랑 같은 문자를 붙였을때가 최소이므로) 구현 import java.util...