분류 전체보기
-
[프로그래머스] 괄호 회전하기_Java코딩테스트 2024. 4. 26. 21:00
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이1. (), [], {} 는 모두 올바른 괄호 문자열이다.2. ([]) , {}([]) 도 올바른 괄호 문자열이다.3. 대괄호, 중괄호, 소괄호로 이루어진 문자열 s를 왼쪽으로 x (0 ≤ x 만큼 회전시켰을 때 올바른 괄호 문자열이 되는 경우의 수를 return한다. 코드Stack을 이용하여 괄호쌍이 맞는지 확인한다.import java.util.Stack;class So..
-
[백준] 30970 선택의 기로_Java코딩테스트 2024. 4. 24. 11:30
품질이냐 가격이냐, 그것이 문제로다.. 문제 링크https://www.acmicpc.net/problem/30970 30970번: 선택의 기로첫 번째 줄에는 첫 번째 방법을 선택했을 때의 첫 번째로 고른 촉석루 미니어처의 품질과 가격, 두 번째로 고른 촉석루 미니어처의 품질과 가격을 공백으로 구분하여 순서대로 출력한다. 두 번www.acmicpc.net 문제 풀이1.입력 값2. 품질과 가격이 전부 동일한 두 촉석루 미니어처는 없다.3. 미니어처를 고르는 방법은 두가지 이다. 첫번째 방법 : 품질이 가장 높은 미니어처, 품질이 같다면 가격이 가장 낮은 것을 고른다. 두번째 방법 : 가격이 가장 낮은 미니어처, 가격이 같다면 품질이 가장 높은 것을 고른다. 4. ..
-
[프로그래머스] 큰 수 만들기_Java코딩테스트 2024. 4. 23. 10:56
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42883# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 1. 숫자로 이루어진 문자열 number에서 k개의 숫자를 제거하여 가장 큰 숫자를 문자열 형태로 return한다. 2. number는 2자리 이상, 1,000,000의 수로 시간복잡도 O(N²)의 알고리즘은 사용할 수 없다. 코드1 _index를 이용한 방법 index+k번째까지 체크하여 index의 숫자보다 큰 숫자가 있으면 index번째 숫자는 삭제한다. class S..
-
[프로그래머스] 영어 끝말잇기_Java코딩테스트 2024. 4. 22. 11:06
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 1. n명의 사람이 번갈아가며 words의 단어를 말하며, words의 순서는 바꿀 수 없다. 2. n번째 사람 다음 순서는 1번째 사람이다. 3. 중복되는 단어는 허용하지 않는다. 4. 첫 알파벳이 이전 사람의 단어의 마지막 알파벳과 동일해야한다. 5. 끝말잇기에 실패한 사람의 번호와 차례를 return한다. 6. 실패한 사람이 없는 경우 [0, 0]을 return한다. 코..
-
[프로그래머스] 멀리 뛰기_Java코딩테스트 2024. 4. 19. 09:10
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 1. 한 번에 한 칸 또는 두 칸을 이동할 수 있다. 2. n번째 칸 도달 방법은 n-1번째 칸 도달 방법과 n-2번째 칸 도달 방법을 더한 값이다. 3. n은 1 이상, 2000 이하인 정수이다. 4. 결과 값에 1234567을 나눈 나머지 값을 반환한다. 코드 class Solution { public long solution(int n) { if(n
-
[프로그래머스] 문자열 압축_Java코딩테스트 2024. 4. 18. 17:43
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 1. 문자열 압축 시 압축할 수 있는 문자열의 단위는 1~ 문자열의 길이/2 사이의 값이다. 2. 문자열은 처음 시작 부분부터 압축할 단위의 크기대로 나누어 압축한다. 3. 문자열의 반복 횟수가 1일 경우 숫자는 생략하고, 1 이상일 경우 반복 횟수 + 반복 문자열로 압축할 수 있다. 4. 가장 짦은 압축 문자열의 길이를 반환한다. 코드 import java.util.*; c..
-
[운영체제] 주소지정방식의 의미 및 종류운영체제 2023. 12. 6. 17:32
주소지정방식이란 프로그램이 수행되는 동안 사용될 데이터의 위치를 지정하는 방법입니다. 주소 지정방식의 중요성효율적인 주소지정방식은 데이터와 명령어에 보다 빠르게 접근할 수 있고, 메모리를 효율적으로 관리하여 하드웨어를 제어하는 데 중요한 역할을 합니다. 절대주소와 상대주소 절대주소(Absolute Address)메모리에서 고유하게 식별되는 위치를 나타내는 실제(유효)주소입니다.기억장치의 맨 처음부터 1 Byte마다 0, 1, 2, 3, ... 의 순서로 16진수의 번호가 차례대로 지정됩니다. 상대주소(Relative Address) 기준주소를 기준으로 하여 상대적으로 이동한 거리(Offset)로 표현하는 주소 ( 절대주소 = 기준주소 + Offset ) 상대주소는 절대주소로 변환해야만 실제 데이터에 접근..
-
[운영체제] 동시성(Concurrency) VS 병렬성(Parallelism)운영체제 2023. 11. 29. 23:17
병렬처리는 컴퓨터 시스템에서 성능향상과 효율성을 위한 핵심 기술 중 하나입니다. 이 병렬처리에 대해 공부하다보면 동시성과 병렬성이라는 개념을 접하게 됩니다. 이 때 병렬(parallel)과 동시(concurrent)의 단어적 의미는 매우 유사하여 컴퓨터 프로그래밍 관점의 동시성과 병렬성을 이해하는 데 매우 혼란스러 울 수 있습니다. 단어적 의미와는 다르게 프로그래밍 관점에서 동시성과 병렬성은 서로 다른 개념이며 다른 목적성을 가집니다. 동시성(Concurrency) 동시성은 프로그램이나 시스템의 의미론적 속성 입니다 . 두 개 이상의 작업이 동시에 진행되는 것, 즉 여러 작업이 실행되는 기간이 겹치는 것을 의미합니다. 여러 작업은 '동시'에 실행되는 것 처럼 보이지만 사실 하나의 CPU는 하나의 작업만 ..