📑 개인 활동 모음집 📑/👩🏻‍💻 `24 하계 모각코 👩🏻‍💻

[`24 하계 모각코] 펠리컨적 사고 5회차 개인 리뷰

lrycro_ 2024. 7. 28. 22:00

[ # 5회차 정보 ]

  • 2024년 7월 28일 19:00 - 22:00
  • Discord 영상 통화로 온라인 스터디 회의 진행

[ # 5회차 개인 목표 ]

Java 백준 문제 풀이 진행

- 실버 4 28419번

- 실버 4 14468번


[ # 5회차 개인 활동 내용 ]

28419번: 더하기

https://www.acmicpc.net/problem/28419

import java.util.*;
import java.io.*;

public class Main {
	
	static BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
	static BufferedWriter bw= new BufferedWriter(new OutputStreamWriter(System.out));
	static StringTokenizer st;
	
	public static void main(String[] args) throws NumberFormatException, IOException {
		int N=Integer.parseInt(br.readLine());
		
		String SSS=br.readLine();
		st=new StringTokenizer(SSS);
		
		long odd=0;
		long even=0;  
		
		for(int i=0; i<N; i++) {
			if(i%2==0) {
				odd+=Long.parseLong(st.nextToken());
			}
			else {
				even+=Long.parseLong(st.nextToken());
			}
		}
		
		if(odd==even) {
			bw.write("0");
		}
		else if(even<odd) {
			if(N<=3) {
				bw.write("-1");
			}
			else {
				bw.write(odd-even+"");
			}
		}
		else {
			bw.write(even-odd+"");
		}
	
		bw.flush();
		bw.close();
		br.close();
	}
}

14468번: 소가 길을 건너간 이유 2

https://www.acmicpc.net/problem/14468

import java.util.*;
import java.io.*;

public class Main {
	
	static BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
	static BufferedWriter bw= new BufferedWriter(new OutputStreamWriter(System.out));
	
	static StringTokenizer st;
	
	public static void main(String[] args) throws NumberFormatException, IOException {
		
		String SSS= br.readLine();
		
		String A[]=new String[SSS.length()];
		
		long count=0;
		
		Map<String,Integer> M=new HashMap<>();
		
		for(int i=0; i<26; i++) {
			M.put(""+(char)(65+i),0);
			
		}
		
		for(int i=0; i<SSS.length(); i++) {
			A[i]=""+SSS.charAt(i);
		}
		
		for(int i=0; i<52; i++) {
			M.put(A[i],M.get(A[i])+1);
			
			if(M.get(A[i])==1) {
				
				Map<String,Integer> mmm=new HashMap<>();
				
				for(int a=0; a<26; a++) {
					mmm.put(""+(char)(65+a),0);
					
				} 
				
				int j=i+1;
					while(true){
						if(A[i].equals(A[j])) {
							break;
							
						}
						else {
						mmm.put(A[j],mmm.get(A[j])+1);
						j+=1;
						}
						
					}
				
				for(int q=(int)A[i].charAt(0)-65+1; q<26; q++) {
					
					if(mmm.get(""+(char)(65+q))%2!=0) {
						count+=1;
					
						
					}
				}
			}
			
		}		
		
		bw.write(count+"");
		
		bw.flush();
		bw.close();
		br.close();
	
	}
}