| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 | 30 | 31 |
- 코테
- 코딩테스트 연습
- KT
- SSAFYcial
- html
- 카카오
- 신문 스크랩
- python
- 신문스크랩
- 프로그래머스
- 백준위
- SSAFY 7기
- 인앱결제
- IT 트렌드
- 네트워크 관리사 2급 실기
- IT 동향
- SSAFY
- 코딩테스트
- 싸피
- java 객체지향 프로그래밍
- Java
- 백준
- 네트워크 관리사 2급
- 구글
- 우테코
- 리얼클래스
- it 이슈
- it 뉴스
- 네트워크 관리사
- 싸피셜
- Today
- Total
목록전체 글 (237)
개발자일걸요..?
문제 링크 : www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 백트래킹(backtracking) : 해가 아닌 값을 만나 막히면 이전 과정으로 돌아가 다시 다른 루트로 해를 찾아 나가는 알고리즘 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { /..
문제링크 : www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 1. 문자로 입력받은후 (int(나이), 이름)으로 배열에 입력 2. 나이순으로 정렬 3. 배열 출력 import sys T = int(sys.stdin.readline()) member_list =[] for _ in range(T): age, name = map(str,sys.stdin.readline().split()) member_list.append((int(age),name)) member_l..
문제링크 : www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 조건 1. 같은 단어가 여러번 입력된 경우에는 한번씩만 출력한다. -> 리스트를 set화시키면 중복 제거 가능 조건 2. 문자열이 짧은 순으로 출력한다. -> 입력을 받을 때 문자열의 길이 세어두기 조건 3. 문자열의 길이가 같으면 알파벳순으로 출력한다. -> sort 때 정렬 조건을 순서대로 key에 입력 import sys T = int(sys.stdin.readline()) wLis..
문제링크 : www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 11650번 문제에서 list[i][0]에 x, list[i][1]에 y를 저장해서 sort 했다면 11651번 문제에서는 정렬의 기준점만 바뀐 것이기 때문에 list[i][0]에 y, list[i][1]에 x를 저장해서 sort 하면된다. import sys T = int(sys.stdin.readline()) list = [[0 for i..
문제링크 : www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net import sys T = int(sys.stdin.readline()) list = [[0 for i in range(0,2)] for j in range(0,T)] for i in range(0,T): list[i][0],list[i][1] = map(int, sys.stdin.readline().split()) list = sorted(li..
문제링크 : www.acmicpc.net/problem/1427 1. 문자열로 입력받기 2. 문자열을 한글자씩 숫자로 바꿔 배열로 입력 3. 숫자끼리 비교해서 배열 재정리 4. 배열을 문자열로 변환(optional) 5. 출력 import sys string = sys.stdin.readline() stringL= len(string) stringList = [int(string[i]) for i in range(0,stringL-1)] for i in range(0,stringL-1): for j in range(0, stringL-1): if(stringList[i]>stringList[j]): temp = stringList[i] stringList[i] = stringList[j] stringLi..
문제 링크 : www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 내장함수 사용 : 헤더파일에 있는 sort함수를 이용해 정렬 #include #include #include using namespace std; int main() { int T = 0; cin >> T; vector list; while (T--) { int n = 0; cin >> n; list.push_back(n); } sort(list.begin(),list.end()); ..
문제링크 : www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 개인적 tip 1) 입력을 받을때 각 숫자가 몇번 들어오는지 세는게 좋다. 2) 입력 받는 수 가운데 가장 작은 값과 큰 값은 알아두는게 좋다(for문을 많이 쓰는데 그때 범위를 최소화하기 위해) import java.util.Scanner; import java.util.Arrays; public class Main { public static void main(String[] args) { // TODO Auto-generated..
문제링크 : www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 이 문제는 카운팅 정렬을 이용해 푸는 문제입니다. 1. 배열의 처음부터 끝을 돌며 각 요소들이 몇번씩 등장하는지 세서 counting 배열 생성 ex ) A 배열의 i번째 수가 1이라면, counting[1]+=1을 해줌 2. counting 배열을 작은 수부터 돌며 각 수가 몇번 등장했는지를 통해 새로운 배열 생성 ex) counting[i] = 2 라면 i가 2번 들어가게 배열B 생성. +) 참고 : soobar..
문제 링크 : www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 방법 1. 삽입정렬(insertion sort) 삽입 정렬 : 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는알고리즘. -> 장점 : 구현이 간단함, 같은 O(n^2)알고리즘에 비교하여 빠름, 안정적/in-place 알고리즘이다. 단점 : 배열이 길어질 수록 효율이 떨어짐 내용 출처 : ko.wikipedia.org/wik..