반응형

안녕하세요 Jin's 입니다.

 

오늘의 코딩테스트 문제는 해시 중 폰켓몬 에 대한 문제 풀이입니다.

 

이 문제를 접근할 때 중요하다고 느낀 포인트는 폰켓몬을 선택할때 다양한 종류의 폰켓몬 종류를 가지고 싶어하기때문에 

폰켓몬을 담을 때 HashSet을 사용하여 중복을 피하는 것이었습니다.

 

import java.util.HashSet;

import java.util.Collections;

class Solution {
    public int solution(int[] nums) {
        HashSet<Integer> pokemonData = new HashSet<>();
        for(int num : nums){
            pokemonData.add(num);
        }

        return Math.min(pokemonData.size(),nums.length / 2);
    }
}

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/1845

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

반응형
반응형

안녕하세요 Jin's 입니다.

 

오늘의 코딩테스트 문제는 해시 중 전화번호 목록에 대한 문제 풀이 입니다.

 

 

해당 문제는 startWith을 사용하여 접두사를 찾았습니다.

순서에 상관없이 접두사를 찾아야했기 때문에 반대로 순서를 주어서도 찾았습니다.

" phone_book[i].startsWith(phone_book[j]) || phone_book[j].startsWith(phone_book[i]) "

 

class Solution {
    public boolean solution(String[] phone_book) {
        boolean answer = true;
        for(int i=0; i<phone_book.length;i++){
			for(int j=i+1; j<phone_book.length;j++){
				if(phone_book[i].startsWith(phone_book[j]) || phone_book[j].startsWith(phone_book[i])){
					return false;
				}
			}
		}
        return answer;
    }
}

 

 

여러분도 한번 풀어보세요~

 

반응형
반응형

 

안녕하세요 Jin's 입니다.

 

오늘은 기존에 제가 올리고 있는 백준과 비슷한 프로그래머스의 고득점 Kit에 대해서 설명드리려고 합니다.

 

코딩테스트 연습

기초부터 차근차근, 직접 코드를 작성해 보세요.

programmers.co.kr

 

0. 왜 프로그래머스의 고득점 Kit를 시작하려고 하는지?

자체적 백수에서 벗어나 취준생이 되야하는 날이 점점 다가오고 있어 이번달부터 백준과 번갈아가며 프로그래머스의 고득점 Kit를 풀어보려고 합니다. 물론 코딩테스트를 보지 않는 회사로 지원할 수도 있지만 코딩 공부 겸 좀 더 꼼꼼하게

책점하는 코딩테스트 고득점 Kit을 시작하려구요ㅎㅎ

 

1. 코딩테스트 고득점 Kit는 어떻게 이루어져있는지?

Kit는 해시, 스택/큐, 힙, 정렬, 완전탐색, 탐욕법, 동적계획법, 깊이/너비 우선 탐색, 이분탐색, 그래프로

 36문제로 이루워져있습니다.

 

2. 문제 풀이는 어떻게 하는지?

문제를 선택하면 아래와 같이 화면이 구성되어 있습니다.

왼쪽에는 문제 설명과 입출력예제가 있고, 오른쪽은 실행해보고 실행결과를 볼 수 있도록 되어있습니다.

 

문제를 풀고 실행을 하게 되면 아래와 같이 입출력 예시로 기댓값이 잘 나오는지 확인 할 수 있습니다.

문제 실행

 

백준과 가장 다른 점이 제출하고 난 뒤의 책점하는 포인트인거 같습니다.

(저는 먼저 풀었었기 때문에 같은 코드로 생성한 결과값이 뜬 것이니 참고부탁드려요~)

백준은 정확성과 시간제한이라면 고득점 Kit는 정확성과 효율성을 보고 책점을 합니다.

 

고득점코딩테스트 고득점 Kit는 코딩테스트에 자주 나오는 대표적 케이스를 직접 풀어보고 책점받을 수 있어

좋은 것 같습니다. 앞으로 각 문제들을 어떻게 풀었는지 공유도 드리도록 할게요!!

 

 

반응형
반응형

 

안녕하세요 Jin's 입니다.

 

백준 알고리즘의 1차원 배열 마지막 문제인 평균은 넘겠지 ( 문제 번호 : 4344 )의 소스입니다.

 

 

Java와 Python 두가지 버전 소스입니다.

 

1) JAVA

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int testCase = Integer.parseInt(scan.nextLine());
		
		for(int i=0; i<testCase; i++){
			int student = scan.nextInt();
			int[] score = new int[student];
			int ave = 0;
			int cnt = 0;
			
			for(int j=0; j<student; j++){
				score[j] = scan.nextInt();
				ave += score[j];
			}
			ave = ave/student;
			
			for(int j=0; j<student; j++){
				if(score[j] > ave){
					cnt ++;
				}
			}
			System.out.printf("%.3f",(double)cnt/student*100);
			System.out.println("%");
		}
		scan.close();
	}
}

 

2) PYTHON

    * 리스트 자체로 for문을 돌려 for문의 j 값이 리스트안의 값이 바로 나올수 있도록 설정

      (이때 첫번째 학생수 제외하고 나오도록 [1:] 설정)

    * 소수점 이하 3자리 나오도록 %.3f 설정

    * 소수점 이하 3자리 반올림 round 지정

for i in range(int(input())):
    total = list(map(int, input().split()))
    ave = (sum(total)-total[0]) / total[0]
    cnt = 0
    for j in total[1:]:
        if j > ave:
            cnt += 1
    print(str('%.3f' % round(cnt / total[0] * 100, 3))+'%')

 

여러분도 한번 풀어보세요!

 

반응형
반응형

안녕하세요 Jin's 입니다.

 

백수가 된 저는 다시 취업 준비를 위해 알고리즘 코딩 테스트를 준비해보려고 합니다.

 

아직 가려고 하는 회사를 정하지는 못했지만,

최근 IT 기업들이 코딩 테스트를 하는 곳이 많아 미리 준비하려고합니다.

 

제가 선택한 알고리즘 공부 사이트는 백준 알고리즘입니다.

https://www.acmicpc.net/

 

Baekjoon Online Judge

Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.

www.acmicpc.net

 

저는 알고리즘 공부가 처음인데다 기존에 사용하던 Java와 처음 접하는 언어인 Python을 공부할거라

단계별로 풀어보기를 할 예정입니다.

 

일단 목표는 하루 한 문제를 Java, Python으로 풀어보려고 합니다.

 

단계별 문제는 아래와 같이 되어있습니다!

 

도전 중인 단계에 대한 푼 문제수와 총문제를 확인 할 수 있고,

예를 들어 입출력과 사칙연산을 들어가보면 아래와 같습니다.

 

문제는 아래와 같이 나옵니다

 

상단의 제출을 눌러 문제에 대한 답을 제출 할 수 있습니다.

 

 

백준 알고리즘 문제들을 다 풀게 되면 프로그래머스와 SW Expert Academy를 해볼 생각이에요!!

앞으로 제가 푼 답안들도 올릴게요~

반응형

+ Recent posts