도구 설명 xUnit java(JUnit), C++(Cppunit), .Net(Nunit) 등 다양한 언어를 지원하는 단위 테스트 프레임워크 소프트웨어의 함수나 클래스 같은 서로 다른 구성 원소(단위)를 테스트 할 수 있게 해주는 도구 STAF 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임 워크 각 테스트 대상 분산 환경에 데몬을 사용하여 테스트 대상 프로그램을 통해 테스트를 수행하고, 통합하며 자동화 하는 도구 FitNesse 웹 기반 테스트 케이스 설계/실행/결과 확인 등을 지원하는 테스트 프레임워크 사용자가 테스트 케이스 테이블을 작성하면 빠르고 편하게 자동으로 원하는 값에 대한 테스트를 할 수 있는 장점이 있음 NTAF FitNesse와 STAF의 장점을 결합하여 개발된 ..
분류 전체보기
·개발일기
1. 환경 : HackerLank 2. 시험 방식 및 시간 이틀정도 시간을 주고 응시자가 원하는 시간에 시작할 수 있다. ICT 산학 인턴십 코딩테스트가 12시간이라는 후기를 많이 봤었는데, 절반이 줄었다 ㅋㅋ 문제는 총 5문제였고, 시험시간은 6시간이었다. 사실 6시간도 다른 기업 시험을 생각하면 넉넉하게 주어진 편이다. 3. 시험 문제 및 난이도 해커랭크에서는 영어로 문제가 출제된다. 사실 나는 이번 인턴쉽 기회에 총력을 가하고 있어서 해커랭크 사이트에서 미리 영어로 문제 푸는 훈련을 했다. 그런데 사실 예제 보고 풀게되기 때문에, 영어로 나온다고 하여도 크게 걱정하지 않아도 된다. 기억이 벌써 가물가물한데 1~3번까지는 구현, 그리디 문제가 나왔고 난이도는 백준 silver정도인것 같다. 4번은 선..
유형 : DP(다이나믹 프로그래밍) 배열을 뒤집어서 가장 긴 증가하는 수열을 찾는다 예전에 풀었던 문제 11722 가장 긴 감소하는 부분 수열과 똑같은 dp 문제이다. 다만 이번 문제에서는 제외할 병사의 수를 출력해야 하므로 n - dp의 최댓값 (= 가장 긴 수열의 길이) 를 출력해주어야 한다. https://www.acmicpc.net/problem/11722 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} www.acmicpc.net 가장 긴 감소하는 부분 수..
백트래킹 문제로 되게 유명하다면서/!??! 그래서 풀어봤다 백트래킹 유형중에 백준에서 푼사람이 가장 많은 문제이기도 하다 백트래킹이란 ? 해를 찾는 도중에 해당 노드가 해가 아니라서 막히면 되돌아가서 다시 해를 찾아가는 기법이다. 첫번째 풀이는 시간초과가 났다 dfs로 퀸을 배치하고, 배치한다음에 시뮬레이션 돌려서 퀸을 공격할 수 있는지 없는지 여부를 true , false 로 반환해서 true 값을 세려고 했다 시간 초과 판정이 떴다. 퀸을 배치하는 과정에서 조금 더 개선해볼 수 있지 않을까 ??? # 9663 N-Queen n = int(input()) graph = [[0]*n for _ in range(n)] dx = [-1, 1, 0, 0, -1, -1, 1, 1] dy = [0, 0, -1, ..
1. 테스트 케이스 개념 : 특정 요구 사항에 준수하는 지를 확인하기 위해서 개발된 입력값, 실행조건, 예상된 결과의 집합 2. 테스트 오라클 개념 : 테스트 결과가 참인지 거짓인지를 판단하기 위해서 정의된 참 값을 입력하여 비교하는 기법 종류 : 참 오라클 / 샘플링 오라클 / 휴리스틱 오라클 / 일관성 검사 오라클 3. 테스트 레벨 1) 테스트 레벨 종류 단위테스트 : 사용자 요구사항에 대한 단위 모듈, 서브루틴 등을 테스트 하는 단계 ex ) 인터페이스 / 자료구조 / 실행 경로/ 오류 처리 테스트 통합 테스트 : 단위 테스트를 통과한 컴포넌트 간의 인터페이스를 테스트하는 단계 ex) 빅뱅 테스트, 상향식/하향식 테스트 시스템 테스트 : 개발 프로젝트 차원에서 정의된 전체 시스템 또는 제품의 동작에..
·개발일기
1. People Space Internship 회사는 캘리포니아 실리콘벨리에 있고, 코로나 때문에 비대면으로 2달간 진행했다. 학교 연계해서 참여할 수 있었다. StockReader 라는, 주식을 ai 로 예측해서 알려주는 웹서비스를 개발했다. 파트는 ai/FE/BE로 나뉘었다. 난생처음 백엔드를 자처해서 해보겠다고 했다 매번 프로젝트 때 마다 프론트엔드를 위주로 했었는데, 서버 구조를 잘 이해해보고 싶어서 백엔드를 해보겠다고 했다. 취업을 생각하면 프론트이지만, 그래도 한번 해보길 잘한것 같다 !! 장고 프레임워크를 배우면서 바로 개발에 투입되어야 했다 빨리빨리!!! 배워야 하는 시기여서 좀 어려웠던 것 같다 (특히나 iOS도 새로운 프레임워크를 사용해야 했던 시기) 그러면서도 프론트에 데이터가 잘 ..
https://www.acmicpc.net/problem/11728 11728번: 배열 합치기 첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거 www.acmicpc.net 사실 for 문으로 출력해도 시간안에 풀 수 있었지만 , join으로 출력하는게 훨씬 시간 단축이 되었다 1. for문으로 출력할 때 2. join으로 출력할 때 기억해두자 !! n, m = map(int, input().split()) a = list(map(int, input().split())) b = list(map(int, input().split())..
https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 플로이드 알고리즘 그대로 구현하면 되는 문제이다. 단 !!! 시작 도시와 도착 도시를 연결하는 노선이 여러개일 수 있다 따라서 입력 받을 때, cost가 가장 작은 노선만 남겨두는 처리 과정이 필요하다 # 플로이드 INF = int(1e9) n = int(input()) # 도시 개수 m = int(input()) # 버스 개수 graph = [[INF]*(n+1) for _ in range(n+..