- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 자바
- 파이썬
- 안드로이드
- firebase google
- 코딩테스트
- 배열
- 컴퓨터공학과
- 정렬
- 공유대학
- 자료구조
- 구글 로그인
- 동적할당
- sql
- oauth
- 프로그래밍 입문
- 백준
- C++
- 비주얼 베이직
- 프로그래머스
- Firebase
- 연결리스트
- android studio
- Java
- 알고리즘
- 안드로이드 스튜디오
- python
- 로그인
- C언어
- til
목록전체 글 (191)
코딩하는 해달이
소프트웨어란? - 프로그램 - 프로그램의 개발, 운용, 유지보수에 필요한 관련 정보 일체 소프트웨어의 성질 - 복잡성 : 소프트웨어를 구성하는 요소가 많아지면 복잡해짐 - 순응성 : 외부의 환경, 요구사항등이 변화되면 소프트웨어도 함께 변화해야함 - 변경성 : 비교적 쉽게 변경이 가능함 - 비가시성 : 눈으로 볼 수 없는 성질을 가지고있음 - 비마모성 : 물리적인 것들과는 달리 마모되지 않음 소프트웨어의 유형 - 주문형 소프트웨어 더보기 특정 고객 또는 기업의 요구를 만족하기 위해 개발 개발 성패는 사용자의 필요성에 좌우 ex) 웹 사이트, 대기업 재정관리 시스템 등 - 패키지 소프트웨어 더보기 공개된 시장에서 판매하기 위해 개발 COTS SW(Commercial Off The Shelf)라고도 함 개발..
문제 설명 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000) 출력 상근이가 배달하는 봉지의 최소 개수를 출력한다. 만약..
프로세스의 문제점 다중 프로세스를 이용한 멀티태스킹 - 응용프로그램에서 여러 프로세스를 생성하여 동시에 여러 작업 실행 - 운영체제는 스케줄링을 통해 여러 프로세스를 번갈아 실행 프로세스를 실행단위로 하는 멀티태스킹의 문제점 1. 프로세스 생성의 큰 오버헤드 - 프로세스를 위한 메모리 할당, 부모 프로세스로 부터 복사 - PCB 생성, 매핑 테이블 생성 등 2. 프로세스 컨텍스트 스위칭의 큰 오버헤드 - CPU 레지스터들을 컨텍스트로 PCB에 저장, 새 프로세스 컨텍스트를 PCB에서 CPU 로 옮기는 시간 - CPU가 참고할 매핑 테이블(페이지 테이블)의 교체 시간 - CPU 캐시에 새 프로세스의 코드와 데이터가 채워지는데 걸리는 시간 등 3. 프로세스 간 통신의 어려움 - 프로세스가 다른 프로세스의 메..
스레드 동기화의 필요성 - 다수의 스레드가 동시에 공유 데이터에 쓰기를 접근하면 공유데이터가 훼손되는 문제 발생 가능 - 두 스레드가 동시에 공유데이터에 쓰는 경우 → 공유데이터 훼손 가능 스레드 동기화란? - 공유데이터에 대한 다수의 스레드가 동시에 접근할 때 공유데이터가 훼손되지 않게 하는 기법 공유데이터 접근 문제의 해결책 - 문제점 = 여러 스레드가 공유변수에 접근할 때, 공유 데이터 훼손 - 해결책 = 스레드 동기화 : 한 스레드가 공유데이터 사용을 마칠 때까지, 다른 스레드가 공유데이터에 접근하지 못하도록 제어 - 멀티스레드의 경쟁상황은 매우 자주 발생하며 다중 코어에서 더욱 조심해야한다. 스레드 동기화와 관련된 2가지 중요 개념 임계구역(critical section) - 공유 데이터에 접근..
문제 설명 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 알고리즘 구현 풀이코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Buf..
문제 설명 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 알고리즘 구현 풀이코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(Sy..
문제 설명 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입력 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다. 출력 첫째 줄에 단어의 개수를 출력한다. 알고리즘 구현 문자열 풀이코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.u..