분류 전체보기 112

프로그래머스-네트워크 JAVA DFS/BFS

역시 dfs/bfs문제는 아이디어 떠올리는게 제일 어렵다.. 1) visit으로 방문한 곳/방문하지 않은 곳을 체크해준다 2) 이어져있는 것들은 한번만 answer을 증가시키면서 visit은 모든 노드에 체크를 해줘야한다 3) dfs에서 들어오면 무조건 visit을 true로 바꿔줌 -> 방문하지 않은 것중에 이어져있는것(computers[index][i]가 1인것)을 찾아서 체크해주면 된다 -> 이때 자기 자신도 패스 4) answer++은 처음 for문에서 dfs를 벗어났을 때만! ++해줌 연습 좀 더 많이 해야겠다... class Solution { public int dfs(int index, boolean[] visit, int[][] computers){ visit[index]=true; fo..

Codility - Lessons- BinaryGap [Java] //java 문자열 앞으로 붙이기

app.codility.com/programmers/lessons/1-iterations/binary_gap/ BinaryGap coding task - Learn to Code - Codility Find longest sequence of zeros in binary representation of an integer. app.codility.com binary gap문제를 풀었고, 처음에 33점 받은 코드와 100점 코드를 올리도록 하겠다.. 33점 코드를 풀면서 java에서 string을 앞으로 붙이는 방법을 찾았고, 딱히 뭐가 없어서 메소드를 생성했다 JAVA에서 String을 앞으로 붙이는 방법을 찾기위해 오신 분들은 아래로!! -> 메소드 생성으로 해결했으니 다른방식을 찾는 분은,,,bye,..

프로그래머스 - 해시/ 전화번호 목록 JAVA

programmers.co.kr/learn/courses/30/lessons/42577?language=java 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조�� programmers.co.kr LG 코테가 c++이 안돼서..급하게 java로 준비중이다.. 이번 문제 역시 문제를 잘 생각해야한다. 처음에 생각없이 contains를 사용해서 풀었다가 테스트케이스 1,5를 통과하지 못했는데 그 이유는 접두어를 생각하지 않고 포함하는 것만 생각했기 때문이다. 12345 와 34가 있을때 이는 접두어가 아니므로 true를 리턴해야한다. 그래서..

프로그래머스 - 프린터 c++

https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린�� programmers.co.kr 문제가 누가봐도 큐를 사용해서 풀어야하는 문제였다. - vector의 max_element를 잘 사용하면 빠르게 풀리는 문제였다. -*max_element를 사용하면 max값을, max_element를 이용하면 max의 index를 얻어올 수 있다. max를 찾을때마다 그 index에 대한 값을 -1로 바꿔주면서 남은 것들의 max값을 찾아갔다. -que는 lo..

계단 오르기 문제 - 재귀함수 사용

문제는 이런거였고, 재귀함수를 사용해 풀었다. - 처음에 1로 시작했을때 -처음에 2로 시작했을때를 나눠서 방법을 다르게 하였고, left를 통해 남은 계단의 수를 체크해주었다. 남은 계단의 수가 0일때 방법의 수(count)를 1씩 증가시켜 마지막에 count를 출력해주었다. #include #include #include #include using namespace std; int count=0; int calculate(int num, int left){ if(num==1){ left-=1; } else if(num==2){ left-=2; } if(left==0){ count++; return 0; } else{ if(left>=1) calculate(1,left); if(left>=2) calc..

백준 2493 탑 c++

https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 �� www.acmicpc.net 이 문제는 프로그래머스 탑문제랑 같은 문제인것 같다 프로그래머스처럼 똑같이 이중 for문으로 풀었으나 시간초과로 실패했다.. 컴파일 에러는 c++14로 해야하는데 c++로 선택해서 컴파일 에러가 난 것같다... 무튼 이문제는 그냥 다 stack으로 푸는 문제였다. 역시 프로그래머스 풀듯이 풀면 안되는거였는데.. 무튼 !! 아이디어를 생각하는게 조금 어려웠다 idea 1. 처음 들어오는 애는..

강의용/ 프로그래머스 - 완주하지 못한 선수 c++

풀려고 했는데 사실 이미 푼 문제라서 기록이 남아있었다.. 푼건 알고있었지만 새롭게 풀고싶었는데 이미 코드가 보여서 어쩔 수가 없었다.. https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수�� programmers.co.kr 이 문제는 블로그에 기록을 안한것같아서 기억을 더듬어 보자면 이문제는 동명이인이 있다는게 문제였다 처음에는 find로 찾아서 풀었지만 동명이인때문에 find로 간단히 풀 수가 없었다. 그래서 sort로 ..

카테고리 없음 2020.07.08

교내 코딩테스트 강의 1주차

https://www.onlinegdb.com/ GDB online Debugger | Compiler - Code, Compile, Run, Debug online C, C++ Online GDB is online compiler and debugger for C/C++. You can compile, run and debug code with gdb online. Using gcc/g++ as compiler and gdb as debugger. Currently C and C++ languages are supported. www.onlinegdb.com 이 사이트를 이용해 컴파일을 한다. 되게 간단한것들을 해보고있다..간단한 c++ 문법 argc 는 argument의 수를 의미 합니다. argv ..

프로그래머스 - 힙/ 더 맵게 문제 c++

처음에는 vector를 그냥 sort사용해서 정렬한다음 첫번째 원소를 erase해주고 두번째 원소를 erase해준 다음, 새로운 new_sco를 계산해서 insert로 넣어줬다.( iterator를 사용하여 넣어줬다) 그랬더니 효율성 체크에서 실패가 떠서 코드를 아예 다른 방식으로 접근해야했다.. 누가봐도 큐스러운 문제가 있을때는 그냥 큐를 사용하자...! 괜히 벡터로 sort하고 뭐해도 실행시간 때문에 실패하는 경우가 많다... 사실 큐는 알고있었는데 기말고사로 코테를 잠시 손을 놔서 그런지 pritority_queue가 생각나지 않았다.. 원래부터 모르고있던건지 까먹은건지 모르겠지만 무튼! priority_queue를 사용해서 풀면된다 priority_queue를 greater를 사용하여 오름차순으로..