전체 글 137

[백준/Python] 1920번: 수 찾기(이분 탐색)

1. 문제 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 2. 풀이 ⏰ 시간 초과 : 단순하게 생각해서 if문과 in을 사용하여 확인하였다. 역시나 시간 초과 .. ✔️ 이분 탐색 : 시간초과가 나지 않게 빨리 찾을 수 있는 것은 역시나 '이분탐색'이다 ! 3. 코드 # 1920 def binary_search(target, data): start = 0 end = len(data) - 1 wh..

[알고리즘]/BOJ 2023.08.19

[C언어] 3. 연산자

연산자는 여느 언어와 유사하다. 하지만 python과 JS처럼 덜 strict한 언어에 익숙해져 있던 나에게는 자료형이 발목을 잡았다. 문제로 연습하며 형변환을 하는 부분이 있었는데 .. 연습을 안해보니 어려웠던 것 같다. 아무튼 연산자를 배우며 함께 알아가보자 !! 1. 연산자 종류 연산자 대입 연산자 = 산술 연산자 + - * / & ++ -- 관계 연산자(비교 연산자) > =

카테고리 없음 2023.08.06

[C언어] 2. 입출력

c에서는 scanf 라는 함수를 통해 공백 단위로 입력받을 수 있다. scanf함수의 입력받는 형식은 scanf ("변수 포맷", 변수의 주소); 이 때, 변수의 주소를 입력받기 위해 &(참조 연산자)를 사용한다. 간단하게 &a는 a의 주소를 나타낸다고 생각하면 된다. 1. 정수입력 #include int main(){ int n; scanf("%d", &n); printf("%d",n); return 0; } 2개의 정수형을 공백을 두고 입력받는 방법이다. #include int main() { int a, b; scanf("%d %d", &a, &b); printf("%d %d", a, b); return 0; } 2. 실수 입력 #include int main(){ double d; scanf("%..

카테고리 없음 2023.08.06

[C언어] 1. 출력

C언어를 이제서야 배우게 되었다. Python, JavaScript를 주로 사용하는데 C를 배우면서 느낀 점은 C언어는 이 언어들에 비하면 아주 strict하다는 것이다. 그렇기에 문법이 더 중요하다고 생각되어 꼭! 복기를 위해 올려본다 . (php도 올려야하는데 ㅜ) 1. 출력 c에서 출력의 경우 printf 라는 함수를 사용할 수 있다. 그리고 이 printf 함수는 라는 헤더를 코드 상단에 입력해주어야한다. c에서 문자열은 다음과 같이 큰따옴표(" ") 를 이용하여 표현한다. #include int main() { printf("Hello"); return 0; } 또한 코드 입력 후 세미콜론(;)붙이는 것도 잊지말걸 ~ ! 2. 변수와 자료형 변수는 어떠한 값을 담을 수 있는 공간이다. 사실 이렇..

카테고리 없음 2023.08.06

[백준/Pyhton] 14916번: 거스름돈 (그리디 알고리즘)

1. 문제 14916번: 거스름돈 첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다. www.acmicpc.net 어렵지 않은 실버5 문제였으나 그리디 알고리즘을 복기하기에 좋은 것 같아 포스팅 해본다 ! 2. 풀이 그리디는 정말 간단하게 생각해보는게 답인 것 같다. 우선 받을 수 있는 거스름돈의 동전은 2, 5원이다. 그렇다면 1,3,..등 2,5로만 이루어지지 않는 수는 -1을 출력해주어야한다. 1) 우선 5로 나누어보고 5로 나누어떨어지지 않는다면 2) 2를 감해준다. 그리고다시 1)번으로 되돌아간다. 1) - 2)를 반복해주고 n이 0보다 작다면 불가능한 경우인(-1)을 출력해주고, n==0으로 나누어떨어진다면 답인 (ans)를 출력해준다 ! 3. 코드 n = int(input..

[알고리즘]/BOJ 2023.07.17

[JavaScript/Jquery] 라디오버튼을 다루어보자

현재 개발진행중인 프로젝트에서 라디오 버튼을 사용하는 UI가 많이 등장한다. 라디오 버튼은 보통 다중선택으로 사용하지 않고 하나만 선택할 수 있도록 사용한다. 하지만 .. 라디오 버튼을 다중선택 할 수 있게 변경하라는 QA를 받게되면서 평소에 거들떠보았던,, 라디오버튼에 대해서 자세히 파고들었다. 내용을 다시 정리해보고 복기해보려한다. 1. 라디오 버튼 기본 폼 빨강 파랑 초록 기본 폼과 실행 화면이다. 대신 를 사용하면 된다. 개발을 하기 위해 이정도는 기본적으로 꼭 알아야하고.. 이후로 심화내용을 다루어보겠다. 2. 라디오 버튼 선택과 해제 Jquery를 사용하여 라디오버튼을 선택, 해제할 수 있다. 빨강 파랑 초록 1. 라디오 버튼 선택 $("#아이디").prop("checked, true) 2. ..

[ICT] ICT 창업 메이커톤 후기

후기로 돌아왔어요 ~ 회사갔다와서 포스팅하는게 쉽지 않은 것 같습니다 .. 흑흑 그래두 열심히 해볼게요 하면 기부니가 좋고동요 아무튼 한달도 더 전 최종 발표까지 마치고 왔어요 사실 너무 오래되어서 감흥이 별로 없어졌어요 ... 하지만 그래도 최대한 기억 끌어내서 열심히 적어볼게요 ~ 1. 창업 ? 사실 동아리에서 꼭 ! 해야하는 건 줄 알고 신청했다가 .. 아닌 거 알고 그만둘까 너무너무 바빠서 생각했지만 울 팀장님 너무 열심히하셔서 저두 끝까지 할 수 있었어요. 사실 2차까지 붙을 줄 모르고 구현을 조금 미루고 있었는데 2차 붙고 최종 발표까지 해야하는 상황이었기에 진짜 영끌해서 구현해냈습니다 .. 딱히 저의 독특한 아이디어이 있는것도 아니고, 창업으로 돈을 벌겠다는 생각도 없었는데 이번 대회를 기점..

[JavaScript] 배열 중복 제거

7월 11일 업무 중 학습한 내용 ⚠️ 이슈 : 지점관리 > 코칭클래스의 리스트를 렌더링하는 과정에서 클래스가 중복되어 반환되는 현상 발생 ✔️ 문제 이해 : 최소번호가 1번이고 최대번호가 11번이면 11개를 응답으로 받는데 courseId가 서버에서 여러개 반환 ✅ 해결 : forEach를 사용하여 중복 제거 백엔드 API수정 요청을 할 수 있으나 .. 백엔드분이 너무 바빠보이시기도 하고 프론트에서 중복처리로 할 수 있겠다 싶어 해보았다. console.log("코칭클래스",obj) // res = obj; const setObj=[]; const courseIdSet = new Set(); obj.forEach((item)=>{ if (!courseIdSet.has(item.courseId)){ co..

[백준/Python] 2178번: 미로탐색 (BFS, 상하좌우 탐색)

1. 문제 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 문제를 보고 막막했다. 지금껏 풀었던 그래프 문제는 주로 방향이 우,하 로 잡혀있었는데 이 문제에서는 상하좌우를 따져주어야했다. 다른 코드를 조금 (많이) 참고했다 ^ ____ ^ .. 그리구 상하좌우를 탐색하는 방법을 알았다 !! 2. 풀이 1) 그래프(미로(0,0))에서 bfs함수를 사용하여 상,하,좌,우 를 모두 검사하고 1인 값을 찾는다 2-1 ) 1이라면 그 전 값 +1 2-2 ) 0이라면 continue 3) 차근차근 모든 미로를 탐색하며 목적지(miros[n-1][m-1..

[알고리즘]/BOJ 2023.07.07