목록전체 글 (129)
끄적끄적
출처 : https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net 1. c++ push할 때 미리 곱해주고 이 묶음을 끝내는 쌍을(닫는 괄호) 찾으면(가장 안쪽 괄호-> 따라서 가장 직전의 값이 되는 것) 그동안 곱해진 값을 answer에 더해주고 tmp를 곱했던 만큼 나눠주기 나머지 닫는 괄호는(스택의 top) 이미 계산되었으므로 따로 answer에 더하지 않는다. 2. python python stack 리스트로 처리 push -> append()..
출처 : https://programmers.co.kr/learn/courses/30/lessons/17680 맨 앞 원소로부터 i번째에 있는 원소 삭제 toupper, tolower 문자를 대문자, 소문자로 바꿔주는 함수. char형에만 적용되므로(string으로는 안됨) cities 문자열에 각 문자로 접근하여 각각 적용시켜줘야 한다. 2. python deque를 이용해서 풀었다. 도시이름은 대소문자 구분을 따로 하지 않는다고 했으므로 다 소문자로 바꾸어서 넣어준다. 도시 이름이 dq에 있으면 +1을, 없으면 +5를 해준다. 또한 도시 이름이 dq에 있으면 해당 도시를 제거하고, dq가 꽉찼을 경우 도시 이름이 없다면 맨 앞의 도시를 제거해준 후 동일하게 현재 도시 이름을 dq에 추가해줌.
출처 : https://programmers.co.kr/learn/courses/30/lessons/17681?language=cpp 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 주어진 숫자를 이진법으로 바꾸는 함수를 이용해서 푸는 방법을 생각하고 있었는데, 비트연산자를 사용하여 간단히 해결할 수 있는 문제였다. int num = arr1[i] | arr2[i] OR 연산 의미 예를 들어 arr1[i]가 10001이고 arr2[i]가 10101이라면 num은 10101이 된다. 2진법에서만 사용할 ..
✅ 동기 / 비동기 동기(Synchronous) 서버에서 요청을 보냈을 때 응답이 돌아와야 다음 동작 수행 가능. A 작업이 모두 진행될 때까지 B작업은 대기 비동기(Asynchronous) 비동기 방식은 반대로 요청을 보냈을 대 응답 상태와 상관없이 다음 동작 수행 가능. 즉, A작업이 시작하면 동시에 B작업이 실행됨. A작업은 결과값이 나오는대로 출력됨. ✅ next_permutation(first, last); 순열을 구하고 싶은 1-2-3-4의 배열이 있다고 가정하면 next_permutation의 함수를 사용하면 배열의 값들이 다음 순서인 1-2-4-3으로 바뀌고 함수는 true 반환 ✅ 인터프리터 언어와 컴파일 언어 인터프리터 언어 SQL, Python, JavaScript, HTML 등 소스..

✅ 스프링(Spring)이란? 자바 기반의 웹 어플리케이션을 만들 수 있는 프레임워크 python - Django Ruby - Ruby on Rails JavaScript - Node.js Java - Spring ✅ Spring 특징 자바 객체와 라이브러리를 관리해주며, 톰캣과 같은 WAS가 내장되어 있어 자바 웹 어플리케이션을 구동할 수 있다. spring은 경량 컨테이너로 자바 객체를 직접 spring안에서 관리. 객체의 생성 및 소멸과 같은 생명주기(life cycle)를 관리하며, spring 컨테이너에서 필요한 객체를 가쳐와 사용 IOC와 DI 제어의 역전(IOC, Inversion Of Control) 사용자의 제어권을 다른 주체에게 넘기는 것. 스프링에게 제어를 위임하여 스프링이 만든 객체..

출처 : https://programmers.co.kr/learn/courses/30/lessons/17682?language=cpp 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 주의할 점 이 조건에 따라 *이 나올 시 해당 점수와 바로 전 점수만 2배가 되어야하니 바로 전 점수를 저장할 prev변수와 해당 점수를 저장하는 cur 변수를 만들어 관리. 숫자는 0~10이 나올 수 있으므로 한자리 수가 아닐 수 있다. 또한, 10이 나올 경우, *, #이 나올 경우는 이미 전 문자에서 완료했으므로 i++을 해줌으로써 다음 문자로 넘어간다.

출처 : https://programmers.co.kr/learn/courses/30/lessons/43162 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. ..
출처 : https://programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1..