Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .DS_Store
Binary file not shown.
50 changes: 50 additions & 0 deletions T3-성현/11724 연결요소.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;

public class Main{
static boolean visited[];
static ArrayList<Integer>[] A;
public static void main(String[] args) throws IOException{
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
StringTokenizerst=new StringTokenizer(br.readLine()); //SyringTokenizer?
int n=Integer.parseInt(st.nextToken());
int m=Integer.parseInt(st.nextToken());
visited=new boolean[n+1]; //visted=Main(visited)
A=new ArrayList[n+1];
(for int i=1;i<n+1;i++){
A[i]=new ArrayList<Integer>();
}
(for int i=0;i<m;i++){
st=new StringTokenizer(br.readLine());
int i=Integer.parseInt(st.nextToken());
int e=Integer.parseInt(st.nextToken());
A[s].add(e);
A[e].add(s);


}
int cnt=0;
for(int i=1;i<n+1;i++){
if(!visited[i]){
cnt++;
DFS(i);
}
}
System.out.println(cnt);


}
private static void DFS(int i) {
if(visited[i]){
return;
}
visited[i]=true;
for(int i:A[v]) {
if(!visited[i]) {
DFS(i);
}
}
}
}
17 changes: 17 additions & 0 deletions T3-성현/1427 why wrong.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class Main {
public static void main(String[] args) throws IOException {
BUfferedReader br=new BufferedReader(new InputStreamReader(System.in));
int[] array=Arrays.stream(br.readLine().split("")).mapToInt(Integer::parseInt);
Arrays.sort(array);

StringBuilder sb=new StringBuilder();
for(int i=array.length-1;i>=0;i--){
sb.append(array[i]);
}
System.out.println(sb);
}
30 changes: 30 additions & 0 deletions T3-성현/1427 내림차수 정렬.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import java.util.Scanner;
import java.util.ArrayList;

public class Main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String a=sc.next();
int b[]=new int[a.length()];
for(int i=0;i<b.length;i++){
b[i]=Integer.parseInt(a.substring(i,i+1));
}
for(int i=0;i<b.length;i++){
int max=i;
for(int j=i+1;j<b.length;j++){
if(b[j]>b[max]){
max=j;
}
}
if(b[i]<b[max]){
int temp=b[i];
b[i]=b[max];
b[max]=temp;
}
}
for(int i=0;i<b.length;i++){
System.out.print(b[i]);
}

}
}
45 changes: 45 additions & 0 deletions T3-성현/15961 deque why.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#include <iostream>
#include <vector>
#include <queue>

using namespace std;

int sushi[3001]={0};
int main() {
cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
int n,d,k,c;
cin>>n>>d>>k>>>c;
vector<int> dish(n);
for(int i=0;i<n;i++) cin>>dish[i];

deque<int> dq;
int result=0;
int cntt=0;
for(int i=0;i<k;i++){
int val=0;
dq.push_back(dish[i]);
if(!sushi[dish[i]]){
cnt++;
}
sushi[dish[i]]++;
}
result=cnt;

for(int i=0;i<dish.size();i++)
{
int del=dq.front();
dq.pop_front();
sushi[del]--;
if(!sushi[del]) cnt--;

dq.push_back(dish[(i+k)%n]);
if(!sushi[dish[(i+k)%n]]) cnt++;
sushi[dish[(i+k)%n]]++;

if(!suushi[c]) {
result=max(result,cnt+1);
}
else result=max(result,cnt);
}
cout<<result;
}
37 changes: 37 additions & 0 deletions T3-성현/15961 deque why.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import java.util.*;
import java.io.*;

public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st=new StringTokenizer(br.readLine());
int n=Integer.parseInt(st.nextToken());
int d=Integer.parseInt(st.nextToken());
int k=Integer.parseInt(st.nextToken());
int c=Integer.parseInt(st.nextToken());
int[] a=new int[n];
int[] check=new int[d+1];

for(int i=0;i<n;i++) a[i]=Integer.parseInt(br.readLine());

int res=1;
check[c]++;
for(int i=0;i<k;i++) {
if(check[a[i]]==0) res++;
check[a[i]]++;
}
int cnt=res;
for(int i=1;i<n;i++) {
int pop=a[i-1];
check[pop]--;
if(check[pop]==0) cnt--;

int add=a[(i+k-1)%n];
if(check[add]==0) cnt++;
check[add]++;

res=Math.max(res,cnt);
}
System.out.println(res);
}
}
File renamed without changes.
27 changes: 27 additions & 0 deletions T3-성현/2750 오름차수정렬하기.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import java.util.Scanner;
import java.util.Arrays; //java How Default Arrays function implement array?

class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int a[]=new int[n];
for(int i=0;i<n;i++){
int b=sc.nextInt();
a[i]=b;
}
for(int i=0;i<n-1;i++){
for(int j=0;j<n-1-i;j++){
if(a[j]>a[j+1]){
int temp;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(int i:a){
System.out.println(i);
}
}
}
43 changes: 43 additions & 0 deletions T3-성현/2750.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#include <iostream>
#include <queue>
#include <vector>
#include <cmath>
using namespace std;
struct smp{
bool operator()(int a,int b) {
if(abs(a)==abs(b))
return a>b;
return abs(a)>abs(b);
}
};
int main() {
int n,x;
priority_queue<int,vector<int>,cmp> q;
vector<int> v;
cin >> n;

for (int i=0;i<n;i++) {
cin >> x;
if(x==0){
if(q.empty()){
v.push_back(0);
}else{
v.push_back(q.top());
q.pop();
}
}else {
q.push(x);
}
}
for (int i=0;i<v.size();i++) {
cout<<v[i]<<'\n';

}
return 0;
}

#If not use class,

#Bubble sort
#team sort
#Counting sort
2 changes: 2 additions & 0 deletions T3-성현/11286.py → T3-성현/Priority Queue11286.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,5 @@
}
return 0;
}

#If not use class,
49 changes: 49 additions & 0 deletions T3-성현/Sorting Algorithm Timsort.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
a=[2,5,1,9,7]
b="zbdaf"
c=['ccc','aaaa','d','bb']]
d=['cde','cfc','abc']
sorted(a,b)
"".join(sorted(b))

sorted(c, key=len)

sorted(c, key=x;x[1])



def fn(s):
return s[0],s[-1]

print(sorted(d,key=fn))
sorted(d,key=lambda s:(s[0],s[-1]))

#Example problemLeetcode 49 Group Anagrams
def groupAnagrams(self,strs:List[str])->List[List[str]]:
anagrams=collections.defaultdict(list)

for word in strs:
anagrams[''.join(sorted(word))].append(word)
return list(anagrams.values())




#History John von Neumann Merge Sort O(n log n)
#quick sort, Mergesort, Timsort


#sorted by Timsort timsort.c python.c

"""
Chapter 51
Optimistic Sorting and Information Theoretic Complexity
Peter McIlroy


Timsort


Joshua Bloch
Java Array, sort()

"""