본문 바로가기

개발자145

[Java] 백준 25556 포스택 [Java] 백준 25556 포스택 풀이 랜덤으로 되어있는 순열을, 4개의 스택을 이용해서 오름차순으로 정렬을 하는 것이다 여기서 중요한 것은 각 모든 스택은 오름차순으로 나열이 되어 있어야 한다 이유는, 제일 큰 수를 오른쪽부터 왼쪽으로 숫자가 1씩 떨어지면서 정렬을 해야 하는 상황이다 그래서 만약에 스택에 모든 숫자를 넣을 수 있다면, 오름차순으로 정렬이 가능하다 반대로 스택에 숫자 하나라도 못 넣으면, 정렬이 불가능해진다 코드를 보게 되면, 스텍에 값들을 넣었지, 빼는 것은 생략했다 import java.util.Stack; import java.util.Scanner; import java.util.ArrayList; public class Main{ public static void main(S.. 2023. 6. 13.
[TIL] Java (Regex) [TIL] Java (Regex) Regex란? Regular Expression으로 특정 패턴을 찾아서, 문자를 찾거나 교체를 할 수 있다 예를 들어, 전화번호 형태로 입력을 안 하면, 뒤로 못 넘어갈 수 있도록 만들 수 있다 또는 한국어로만 입력이 가능하게 설정을 할 수 있다 Regex는 java.util.regex.* 를 통해서 사용이 가능하다 클래스 Pattern Class : 문자를 찾을 때에, 특청 패턴을 정의한다 Matcher Class : 패턴을 찾을 때에 사용한다 PatternSyntaxException Class : 정규식 (Regular Expression)에 에러를 보여준다 예시 if (Pattern.matches("^[ㄱ-ㅎ가-힣]*$", candidateName) == true).. 2023. 6. 12.
프론트엔드와 백엔드 차이 프론트엔드와 백엔드 차이 제로베이스 백엔드 스쿨 내 경험 멀티캠퍼스 풀스택 개발 과정을 배우며, 프론트엔드와 백엔드를 모두 경험할 수 있었다. 실제로 프로젝트를 할 때에 모두 풀스택으로 참여를 했다. 처음부터 기능을 구현하고, 구현한 기능을 시각화 하는 재미가 있었다. 혼자 모든 것을 구현하니, 시간은 걸렸지만, 성취감은 배로 쌓이게 되었다. 프론트엔드와 백엔드 차이 화면 프론트엔드는 화면으로 보여지는 것을 얘기한다. 프론트엔드 쪽을 다루며 UI/UX (User Interface / User Experience)에 대해 많이 들었다. 즉, 유저들이 해당 서비스를 사용할 때에, 직접적으로 상호 작용하는 부분이 프론트엔드이다. 좀 더 생각하면, 프론트엔드를 통해 새로운 유저를 유치하거나, 기존 유저들을 유지.. 2023. 6. 12.
[Python] 백준 6068 시간 관리하기 🧑‍💻 [Python] 백준 6068 시간 관리하기 Gold 5 - 정렬 하루는 0 시간부터 시작한다 농부가 주어진 일을 끝내기 위해, 얼마나 더 잘 수 있는지 시간을 구하는 것이다 하루를 시작하는 시간을 구하는 것이기 때문에, 시작하는 시간 기준으로 문제를 해결하면 된다 문제 풀이 입력을 받을 때, 일을 끝내기 위해 필요한 시간과, 일을 끝내야 하는 시간이 주어진다 여기서 일을 끝내야 하는 시간 기준으로 오름차순으로 정렬을 한다 hour 같은 경우, 하루를 시작하는 기준이 0 이니깐, 0부터 시작을 한다 while문을 통해, 일을 끝내야 하는 시간 안에 모든 일들을 할 수 있으면 1씩 더해준다 time에 일을 끝내기 위해 필요한 시간을 계속 더해준다 만약 여기서 time 이 일을 끝내야 하는 시간보다 .. 2023. 1. 9.
[Python] 백준 1946 신입 사원 🧑‍💻 [Python] 백준 1946 신입 사원 Silver 1 - 정렬 서류 성적과 면접 성적 중 적어도 하나가 다른 지원자보다 떨어지지 않으면 선발을 한다 즉 서류 성적, 면접 성적 모두, 다른 지원자보다 낮으면 떨어지는 것이다 문제 풀이 먼저 서류 성적 기준으로 정렬을 한다 그리고 면접 성적들을 비교를 한다 제일 처음 기준을 서류 면접에서 1등 한 사람 기준으로 간다 서류 면접 1등 사람 기준(A)으로 면접 성적이 더 우수하다면, 그 사람도 (B) 신입 사원으로 뽑힐 수 있다 그 다음부터는 B의 면접 성적 기준으로 비교를 한다. (이렇게 계속 면접 성적 기준을 바꿔주면서 비교를 하며 뽑힐 수 있는 신입 사원의 수를 구한다) 정렬한 기준, 제일 앞에 있는 사람은 무조건 신입사원으로 뽑힌다. 서류가 1.. 2023. 1. 9.
Udemy : Python 행맨 프로젝트 Udemy : Python 행맨 프로젝트 행맨은 알파벳을 입력하면서, 단어를 찾아내는 것이다. 알파벳을 고를 수 있는 차례는 주어져 있다 import random from hangman_art import logo, stages from hangman_words import word_list print(logo) word = random.choice(word_list) result = ["_"] * len(word) letter_choice = [] count = 6 flag = False while count != 0: letter = input("Guess a letter: ").lower() if letter.isalpha(): if letter in word: if letter not in let.. 2023. 1. 8.
Udemy : Python 함수와 카렐 Udemy : Python 함수와 카렐 Function function() - 앞에 function의 이름이 있고, 뒤에 괄호가 붙는다 왜 사용는건가? 지속적으로 똑같은 코드를 쓰기보단, 함수로 만들어서, 그 함수를 지속적으로 사용하면 된다 코드를 줄일 때, 유용하게 쓸 수 있다 function 만들기 def my_function() : print("My Function") print("Wow") my_function() # 함수 부르기 While Loop while something_is_true: #Do this #Then do this #Then do this while문은, 써 놓은 조건이 거짓일때까지, 지속적으로 코드를 실행하는 것이다 확실한 길이의 데이터가 주어지지 않을 때 while문을 사용.. 2023. 1. 7.
5.3_Javascript - Sliding Window 문제풀이 Udemy - Javascript - Sliding Window Sliding Window - maxSubarraySum Given an array of integers and a number, write a function called maxSubarraySum, which finds the maximum sum of a subarray with the length of the number passed to the function. Note that a subarray must consist of consecutive elements from the original array. In the first example below, [100, 200, 300] is a subarray of the origi.. 2023. 1. 7.
5.2_Javascript - Multiple Pointers 문제풀이 Udemy - Javascript - Multiple Pointers Multiple Pointers - averagePair Multiple Pointers - averagePair Write a function called averagePair. Given a sorted array of integers and a target average, determine if there is a pair of values in the array where the average of the pair equals the target average. There may be more than one pair that matches the average target. Bonus Constraints: Time: O(N).. 2023. 1. 7.